我试着弹出一个弹出窗口,如下所示,但它不工作。请帮帮忙
public void btnSubmit_Click(Object o, EventArgs e)
{
if (checkFileExists(Convert.ToString(fileInfo)))
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Msg", "<script type=\"text/javascript\" language=\"javascript\">function showMsg(){return confirm(\"This image name already exists, do you want to replace it?\");}</script>", true);
btnSubmit.OnClientClick = "return showMsg()";
}
if (something else)
{
// It does whatever is here but never pops the question above
}
}
在我的按钮上
<asp:Button class="Button" ID="btnSubmit" CausesValidation="True" Text="SUBMIT" runat="server"
OnClick="btnSubmit_Click"></asp:Button>
发布于 2011-07-01 01:26:15
要发送给RegisterClientScriptBlock
的最后一个参数是true
,它告诉方法将脚本包装在<script>
块中,但您已经在这么做了。它可能无法工作,因为它呈现了无效的(即嵌套的)脚本标记。
发布于 2011-11-22 06:31:55
Page.ClientScript.RegisterClientScriptBlock不工作的另一个原因是页面没有服务器端表单,例如<form id="form1" runat="server">... </form>
发布于 2011-07-01 03:23:10
我理解您的问题,我建议您执行以下操作。
1-将你的btSubmit保存在你的
public void btnSubmit_Click(Object o, EventArgs e)
{
if (checkFileExists(Convert.ToString(fileInfo)))
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Msg", "<script type=\"text/javascript\" language=\"javascript\">function showMsg(){return confirm(\"This image name already exists, do you want to replace it?\");}</script>", true);
btnSubmit.OnClientClick = "return showMsg()";
}
}
删除if(其他内容)。
2-使用Dialog创建一个类似于javascript confirm的对话框,但带有一个带有自己的单击事件的asp.net按钮。
3-改变你的
return confirm(\"This image name already exists, do you want to replace it?\");
在RegisterClientScriptBlock中你的第一个事件与jquery的逻辑对话。
4-在新按钮的新事件中添加额外的逻辑:
if (something else)
{
// you´ll know the user click your confirm button already!!!
}
我希望这对你有帮助。
https://stackoverflow.com/questions/6538640
复制相似问题