c# - Bootstrap Modal 不适用于 asp.net Web 应用程序
问题描述
所以,我在 asp.net 中有一个网络表单。在该 Web 表单上,有一个 GridView。当用户单击 gridview 上的查看详细信息时,我想要一个模式弹出窗口来显示该类别中的商店列表。我一直在尝试不同的东西,但模式没有出现。下面是我的前端代码:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="DetailsModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<asp:Label ID="lblHead" runat="server" Text="List of stores:" CssClass="h4"></asp:Label>
</div>
<div class="modal-body">
<asp:Table ID="tblJobs" runat="server" CssClass="tblStoresView" GridLines="Both" CellPadding="6" CellSpacing="6" Visible="False">
<asp:TableRow runat="server">
<asp:TableCell runat="server">
<asp:Label ID="Label1" runat="server" Text="Store Name"></asp:Label>
</asp:TableCell>
<asp:TableCell runat="server">
<asp:Label ID="lblPost" runat="server" Text=""></asp:Label>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server">
<asp:TableCell runat="server">
<asp:Label ID="Label2" runat="server" Text="Floor"></asp:Label>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server">
<asp:TableCell runat="server">
<asp:Label ID="Label5" runat="server" Text="Store number"></asp:Label>
</asp:TableCell>
<asp:TableCell runat="server">
<asp:Label ID="lblType" runat="server" Text=""></asp:Label>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</div>
<div class="modal-footer">
<asp:Button ID="BtnView" CssClass="button" runat="server" Text="View" Visible="False" OnClick="BtnView_Click" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
我正在尝试查看网格的 selectindexchanged 事件上的模式。我正在使用的代码如下:
protected void gridStores_SelectedIndexChanged(object sender, EventArgs e)
{
tblStores.Visible = true;
BtnView.Visible = true;
GridViewRow row = gridStores.SelectedRow;
conn = new SqlConnection();
conn.ConnectionString = connString;
sqlcmd = conn.CreateCommand();
string query = "select * from [stores] where cat = @cat";
sqlcmd = new SqlCommand(query, conn);
sqlcmd.Parameters.AddWithValue("@cat", row.Cells[1].Text);
conn.Open();
da = new SqlDataAdapter(sqlcmd);
ds = new DataSet();
da.Fill(ds, "StoresProject");
dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
lblName.Text = dr["store name"].ToString();
lblFloow.Text = dr["floor"].ToString();
lblNumber.Text = dr["store number"].ToString();
}
}
有人可以告诉我为什么模式弹出窗口没有出现吗?我究竟做错了什么?任何帮助将不胜感激。谢谢!
更新:我尝试使用来自 W3Schools 的简单模板来显示没有任何网格和后端 C# 代码的模式。模态仍然没有弹出。
解决方案
所以我解决了我的问题。我突然想到,如果我进入$(#DetailsModal).modal()
chrome 的控制台窗口,就会出现模式。所以我应该尝试在我的网站上以同样的方式调用它。
所以,我在页面末尾写了一个 javascript 函数:
<script>
function openModal(){
$('#DetailsModal').modal();
}
</script>
在我调用的代码隐藏中:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "openModal();", true);
然后,当我尝试打开模式时,它以正确的数据正确显示。
感谢所有抽出时间提出建议的人。
推荐阅读
- azureservicebus - Azure 服务总线主题上的唯一消息
- c# - 如何映射简单数据类型的列表而不必对它们进行字符串化?
- hibernate - Spring数据JPA中的两个相同的表(具有不同的表名)映射用于get,post和put调用
- xcode - NSWindow IBOutlet 没有保持同步
- amazon-cloudwatch - 找不到 DateTime.pm
- sql-server - 有没有办法从科学记数法转换成更低的粒度
- android - 在 NDK r17c 上将 VTK 与 ndk-build 链接会导致“未定义的引用”错误
- ddev - 如何让 DDEV 中第三方容器中的 Web 浏览器接受我的 mkcert SSL 证书?
- c# - 如何在验证字段的 C# 模型中使用正则表达式防止姓名和姓氏的字符重复
- windows - 为什么 windows 命令提示符 forfiles 会在开始时返回一些带有 ~$ 的文件名?