كيف يمكنني تعيين الإطار المستهدف لتقديم النموذج في ASP.NET؟
سؤال
لدي صفحة 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">