سؤال

لدينا شرط من عميل نقل موقع يعمل في المجال نفسه إلى مجلد فرعي آخر التطبيق.

لقد الوصول باستخدام هذا ISAPI كتابة إنشاء الوكلاء.

ومع ذلك ، هناك شكل واحد أن يفعل بعد الظهر في الموقع.رابط المتولدة عن عمل من ASP.NET هو "/الاشتراك.aspx?".هذا يرسل إعادة النشر إلى جذر الموقع.

أريد تغيير هذا "الاشتراك.aspx?" (لا الرائدة مائل).هذا من شأنه أن يكون على ما يرام إذا لم يكن استخدام الصفحات الرئيسية كما يمكن الحصول على إشارة إلى شكل وتغييره العمل (هذا هو .NET FRAMEWORK 3.5 SP1).لقد حاولت استخدام التعليمات البرمجية التالية في السيطرة على إشارة إلى شكل ولكن لا يبدو أن تفعل أي شيء.يجدها شكل ولكن العمل لم يتم تعيين إلى القيمة.

        HtmlForm form = ControlLocator.FindControl<HtmlForm>(Page.Master.Master, "form1");
        form.Action = "sign-up.aspx?";

هذا هو في Page_Load و ControlLocator.FindControl هو منفذ من هذا http://www.west-wind.com/Weblog/posts/5127.aspx

أي أفكار ؟

الهتافات ، روب

هل كانت مفيدة؟

المحلول 4

في النهاية اكتشفت أنه كان umbraco شكل.المتصفح الذي تم إعادة كتابة بعد الظهر url بعد أن كنت قد غيرت ذلك.(اعتذر عن عدم ذكر استخدام umbraco في سؤالي).

نصائح أخرى

جيدة على حل المشكلة.ولكن لمن يريد تغيير العمل URL aspnetform استخدام هذا كود بسيط في الحدث Page_Load (حتى لديهم الصفحة الرئيسية).

protected void Page_Load(object sender, EventArgs e)
{
    this.Form.Action = "URL Goes Here";
}

هل حاولت القيام بذلك في page_prerender?

يمكن أن يكون كل سيد دمج المحتوى لم يتم القيام به في page_load.على افتراض HtmlForm هو النوع الصحيح و هذا النموذج هو في الواقع يسمى 'form1' - الذي أنا متأكد هو الصحيح.

إذا كان لديك زر على شكل الاشتراك يمكنك استخدام postBackUrl ويعزو ذلك إلى توجيه إعادة النشر إلى URL آخر.

<asp:button id="SignUpBtn" 
            runat="server"
            postbackurl="sign-up.aspx" 
            value="Sign Up" />

يمكنك العثور على مزيد من المعلومات في هذا الشأن تحت "عبر صفحة نشر في ASP.NET صفحات الويب".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top