كيف يمكنني تعيين الإطار المستهدف لتقديم النموذج في ASP.NET؟

StackOverflow https://stackoverflow.com/questions/2274566

سؤال

لدي صفحة ASP.NET في iframe حيث تستهدف جميع الروابط _blank

<base target="_blank" />

لكني أريد أن يقدم النموذج الموجود عليه _self (أي ie iframe حيث توجد الصفحة) عند النقر فوق الزر الواحد. النموذج هو <asp:Panel> مع ال <asp:Button> السيطرة على تقديمه.

أين يمكنني تعيين الهدف لهذا النموذج؟ لأنه لا يوجد <form> علامة أو <input> علامة في الملف (ASP.NET تجعلهم عندما يجعل الصفحة) ، لا أعرف كيفية تغيير الهدف لتجاوز بلدي <base> بطاقة شعار.

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

المحلول 2

لقد وجدت هذا المشنور على منتديات ASP.NET بواسطة mokeefe أن يغير الهدف بواسطة JavaScript.

أنا فقط وضعتها في صفحتي وجربتها. اضطررت إلى إجراء هذه التعديلات:

1. أنا أستخدم علامات ASP فقط ، لذلك لدي <asp:Button> ليس <input type="button"> و الخاص بي عند النقر يجب أن تكون الطريقة من جانب الخادم التي أتصل بها. لذلك أضع هذا جافا سكريبت الجديد في onClientClick:

<asp:Button ID="cmdEmailSearch" runat="server" Text="Search"
            OnClick="cmdEmailSearch_Click"
            OnClientClick="javascript:pageSubmit()"/>

2. لقد قمت بإزالة myForm.Submit () منذ أن قام ASP.NET بإعداد الصفحة التي تضع webform_dopostbackwithoptions () JavaScript في الزر عند النقر مباشرة بعد أن يضع بلدي pagesubmit ()

<script type="text/javascript">

    function pageSubmit(){
        // where form1 is the Parent Form Id
        var myForm = document.getElementById('form1');
        myForm.target = '_self';
    }// end function
</script>

نصائح أخرى

لست متأكدًا مما إذا كنت أفهمك بشكل صحيح ، ولكن يمكنك تعيين الهدف في علامة النموذج ، مثل هذا:

<form method=post action="Page.aspx" target="_self">
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top