【发布时间】:2017-03-26 12:23:13
【问题描述】:
我无法弄清楚如何造成这种情况。我有 ASP.NET 应用程序,其网页显示链接到数据库的 GridView - 显示可以租用的书籍。我想在每一行都有按钮,所以用户可以点击并租借这本书。单击后,用户应该会收到带有问题的消息框,例如“您真的要租这本书吗?和是/否选项,并且在 c# 代码中我想用线条来表示这个答案,单击此按钮并正确处理它。
到目前为止,我能够创建此代码:
网格视图:
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1" EmptyDataText="Žádné datové záznamy k zobrazení." OnRowCommand="GridView2_RowCommand">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" />
<asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
<asp:BoundField DataField="author" HeaderText="author" SortExpression="author" />
<asp:BoundField DataField="genre" HeaderText="genre" SortExpression="genre" />
<asp:BoundField DataField="availability" HeaderText="availability" SortExpression="availability" />
<asp:BoundField DataField="owner" HeaderText="owner" SortExpression="owner" />
<asp:BoundField DataField="isbn" HeaderText="isbn" SortExpression="isbn" />
<asp:BoundField DataField="barcode" HeaderText="barcode" SortExpression="barcode" />
<asp:BoundField DataField="amount" HeaderText="amount" SortExpression="amount" />
<asp:ButtonField CommandName="text" Text="button" />
</Columns>
</asp:GridView>
处理问题的脚本:
<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 rent this book?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
}
</script>
在我的 C# 代码中
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "text")
{
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "Yes")
{
showMessage("You clicked YES!");
}
else
{
showMessage("You clicked NO!");
}
//GridView2.Rows[int.Parse(e.CommandArgument.ToString())].Cells[0].Text); -> cell value of clicked row
}
}
private void showMessage(string text)
{
string script = "alert(\"" + text + "\");";
ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", script, true);
}
但我不知道如何将脚本添加到 gridView 按钮,有什么帮助吗?
【问题讨论】:
标签: javascript c# asp.net button gridview