【发布时间】:2018-06-24 06:56:24
【问题描述】:
我想在单击按钮时打开一个确认窗口(如 javascript 中的确认()),如果它说是,我想做一些 c# 代码。 我该怎么做?
编辑:这是我的代码。
脚本:
<script type = "text/javascript">
function Confirm() {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Do you want to save data?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
}
</script>
我的 HTML 代码的其余部分:
<asp:GridView ID="gvUsers" runat="server" AutoGenerateColumns="false" CssClass="Table">
<Columns>
<asp:BoundField DataField="ID" HeaderText="Client ID" />
<asp:BoundField DataField="Name" HeaderText="שם הלקוח" />
<asp:BoundField DataField="PropertyLocation" HeaderText="מיקום הנכס" />
<asp:BoundField DataField="PropertyType" HeaderText="סוג הנכס" />
<asp:BoundField DataField="PropertyArea" HeaderText="שטח הנכס" />
<asp:BoundField DataField="WorkType" HeaderText="סוג העבודה" />
<asp:BoundField DataField="Remarks" HeaderText="שדה חופשי" />
<asp:BoundField DataField="E-mail" HeaderText="מייל" />
<asp:BoundField DataField="Phone" HeaderText="טלפון" />
<asp:BoundField DataField="Password" HeaderText="סיסמא" />
<asp:BoundField DataField="Status" HeaderText="סטטוס" />
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="btnDelete" runat="server" ImageUrl="~/Images/ic_delete.png" OnClick="btnDelete_Click" ToolTip="מחיקה" OnClientClick="Confirm()" />
<asp:ImageButton ID="btnTransfer" runat="server" ImageUrl="~/Images/ic_transfer.png" OnClick="btnTransfer_Click" ToolTip="העברה למעקב" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后面的我的 C# 代码(单击删除按钮时):
protected void btnDelete_Click(object sender, ImageClickEventArgs e)
{
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "Yes")
Response.Redirect("Index.aspx", true);
//connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True";
//connection = new SqlConnection(connectionString);
//commandString = "SELECT * FROM [Users]";
//command = new SqlCommand(commandString, connection);
}
单击确认窗口中的选项之一时出现此错误:
回发或回调参数无效。使用配置或页面中的 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。
【问题讨论】:
-
到目前为止您尝试了什么?我敢打赌网上有例子。基本上你想要一个带有表单的 HTML 模态对话框,在提交时会回发到服务器
-
这里除了c#你还得做点什么。
-
你想要它在网络表单中吗?
-
当它出现在客户端浏览器上时,您将如何使用 C# 进行操作?
-
@Anand - ASP.NET 和 Windows 窗体完全不同。