如果我将数据放在jquery 对话框中,我似乎无法使用我的 asp detailsview 将数据插入到我的数据库中。但是,只要我将它直接放在页面内,它就可以正常工作。
当我将它放在对话框中时,我仍然可以填写信息,但是当我提交 SQL 服务器时抱怨使用 NULL 值,如下所示:
Cannot insert the value NULL into column 'Alias', table 'GSSNetDB.dbo.GSSNet_EndUsers'; column does not allow nulls
因此,由于某种原因,似乎回发功能无法从对话框内的 html 表单中读取信息。
我使用这个创建对话框:
<div id="dialogEndUser" title="Create new user">
<asp:DetailsView
ID="DetailsView_EndUsers"
runat="server"
Caption="Enter new user details"
Visible="True"
AutoGenerateInsertButton="True"
AutoGenerateRows="False"
DataKeyNames="Alias"
DataSourceID="EndUserSource"
DefaultMode="Insert">
<Fields>
<asp:BoundField DataField="Alias" HeaderText="Alias" ReadOnly="True" SortExpression="Alias" />
<asp:BoundField DataField="Address" HeaderText="Address*" SortExpression="Address" />
<asp:BoundField DataField="Name" HeaderText="Name*" SortExpression="Name" />
<asp:BoundField DataField="Device_Key" HeaderText="Device Key" SortExpression="Device_Key" />
<asp:BoundField DataField="Phone_Number" HeaderText="Phone_Number" SortExpression="Phone_Number" />
<asp:BoundField DataField="E_mail" HeaderText="E-mail" SortExpression="E_mail" />
<asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" />
</Fields>
</asp:DetailsView>
</div>
实际弹出窗口使用:
$(function () {
$("#dialogEndUser").dialog({
height: 350,
width: 300,
position: "top",
modal: false,
autoOpen: false
});
});
数据源如下所示:
<asp:SqlDataSource ID="EndUserSource" runat="server"
ConnectionString="<%$ ConnectionStrings:GSSNetDB %>"
InsertCommand="INSERT INTO [Users] ([Alias], [Address], [Device_Key], [Name], [Phone_Number], [E_mail], [Description]) VALUES (@Alias, @Address, @Device_Key, @Name, @Phone_Number, @E_mail, @Description)">
<InsertParameters>
<asp:Parameter Name="Alias" Type="String" />
<asp:Parameter Name="Address" Type="String" />
<asp:Parameter Name="Device_Key" Type="String" />
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Phone_Number" Type="String" />
<asp:Parameter Name="E_mail" Type="String" />
<asp:Parameter Name="Description" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
如果有人可以帮助我或提供有关如何解决问题的任何指示,我将不胜感激。如果有人有推荐,也许可以尝试使用不同的对话系统?
谢谢你的时间!