微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – jQuery模式弹出窗口不会获取单击处理程序中的值

我在ASP.NET Web应用程序中使用 Basic Modal Dialog.在pageload事件处理程序中,它正确地将数据绑定到模式弹出窗口内的文本框.但是当我尝试从buttonclick事件处理程序中的文本框中检索值时,它只返回空字符串作为值.

代码基本上就像这里有一个div里面的文本框弹出:

<asp:TextBox ID="fname" runat="server"></asp:TextBox>

页面加载中:

fname.Text = customer.firstName; this is working

点击按钮:

protected void BtnSaveinfoClick(object sender,EventArgs e)
{
    var firstname = fname.Text.Trim();// this taking values as ""
}

我确实在buttonclick中创建了一个断点.当我将鼠标悬停在带有萤火虫的fname文本框上时,它会向我显示值.

<input id="MainContent_cphMain_PersonalInfo1_fname" type="text" value="Andrew" name="ctl00$ctl00$MainContent$cphMain$PersonalInfo1$fname">

任何想法都会有所帮助.

解决方法

您必须使用 appendTo option将对话框附加到要触发的ASP.NET事件的表单:

appendTo [String:’body’]

用于追加元素的jQuery选择器.对于ASP.NET,请使用“表单”.

注意:认情况下,jQuery UI对话框会附加到body标记.必须在表单标记内呈现所有.NET控件才能正常工作.对于练习,尝试在窗体标记之外添加任何控件(即:asp:textBox)到runat =“server”的页面,并查看ASP.NET对此有何看法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐