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

时间:2011-10-07 08:33:09

标签: c# jquery asp.net

我在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 ""
}

我确实在breakpoint中制作了buttonclick。当我将鼠标悬停在fname文本框上并显示firebug时,显示值已存在。

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

任何想法都会有所帮助。

3 个答案:

答案 0 :(得分:1)

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

appendTo [String:'body']

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

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

答案 1 :(得分:0)

您是否检查过Page_Load和其他脚本,以确保在事件发生前的任何时候都没有清除fname

答案 2 :(得分:0)

这就是{{3p>

相关问题