gpt4 book ai didi

javascript - jquery ui 对话框中使用的 asp.net 控件值在后面的代码中为空

转载 作者:行者123 更新时间:2023-11-30 17:25:38 24 4
gpt4 key购买 nike

我正在开发一个 asp.net 应用程序。我正在使用 Jquery UI 将记录添加到数据库。这是标记。

 <div id="AddShippingPopup" class="popup" title="New Shipping Address">
<p>Shipping Address</p>
<table>
<tr>

<td> Line 1:</td>
<td><asp:TextBox ID="txtShippingLine1" runat="server"></asp:TextBox></td>
</tr>
<tr>

<td>Line 2:</td>
<td><asp:TextBox ID="txtShippingLine2" runat="server"></asp:TextBox></td>
</tr>
<tr>

<td>City:</td>
<td> <asp:TextBox ID="txtShippingCity" runat="server"></asp:TextBox></td>
</tr>
<tr>

<td>State:</td>
<td> <asp:DropDownList ID="ddlShipingState" runat="server" Width="200px" CssClass="required">
<asp:ListItem Value="">Please select</asp:ListItem>
<asp:ListItem Value="AK">Alaska</asp:ListItem>

</asp:DropDownList></td>
</tr>
<tr>
<td>Zip:</td>
<td><asp:TextBox ID="txtShippingZip" runat="server" Width="50px"></asp:TextBox></td>
</tr>
<tr>
<td>Preferred:</td>
<td>
<asp:CheckBox ID="chkPreferredShipAdd" runat="server" />
</td>
</tr>
</table>
</div>

这是这个 div 之外的按钮:

 <asp:Button ID="btnAddShipping" runat="server" Text="Add Shipping" style = "display:none" OnClick = "btnAddShipping_Click" />

和 Jquery 对话框代码:

     $("#AddShippingPopup").dialog({
autoOpen: false,
modal: true,
width: 500,
height: 370,
buttons: {
"Cancel": function () {
$(this).dialog("close");
},
"Save": function () {
$("[id*=btnAddShipping]").click();
$(this).dialog("close");
}
}
});


function createShippingAddress() {
$("#AddShippingPopup").dialog("widget").find(".ui-dialog-titlebar-close").hide();
$("#AddShippingPopup").dialog("open");
return false;
}

这是初始化对话框的链接:

   <asp:LinkButton ID="lnkAddNewShippingAddress" runat="server" Font-Size="Smaller" OnClientClick="createShippingAddress(); return false;">Add New</asp:LinkButton>

但单击“保存”按钮时,文本框和下拉列表的值为空。和空字符串保存在数据库中。如何解决?

最佳答案

这种情况下的常见问题是 javascript 对话框在 asp.net 表单元素之外呈现它们的内容

因此,使用 appendTo 选项强制他在表单内部呈现。这是来自 jQuery site 的示例:

$( ".selector").dialog({ appendTo: "#someElem"});

并确保您追加的元素在您的 asp.net 表单中。

您的代码如下:

 $("#AddShippingPopup").dialog({
appendTo: "#dialogAfterMe",
autoOpen: false,
modal: true,
width: 500,
height: 370,
buttons: {
"Cancel": function () {
$(this).dialog("close");
},
"Save": function () {
$("[id*=btnAddShipping]").click();
$(this).dialog("close");
}
}
});

并将这个 div 放在你的表单中的某个地方

<div id="dialogAfterMe"></div>

关于javascript - jquery ui 对话框中使用的 asp.net 控件值在后面的代码中为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24340673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com