大家好我已经创建了一个我想在整个应用程序中使用的javascript,所以我创建了一个返回字符串的类,如下所示
public static string ShowAlert(string pHeader, string pMessage)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language='JavaScript' type='text/javascript'>");
sb.Append("example1('" + pHeader + "','" + pMessage + "')");
sb.Append("</Script");
return sb.ToString();
}
这是我的代码JFunction.JS
(function example1(title, content) {
$.msgBox({
title: title,
content: content
});
})
现在点击按钮我只是按以下方式调用
Page.ClientScript.RegisterStartupScript(this.GetType(), "",ShowAlert(pHeader,pMessage) , true);
但是我无法收到消息,所以有没有办法创建一个独特的方法,而不是在每个页面上调用脚本,
答案 0 :(得分:0)
背后的代码
public partial class call_jquery_from_class_file : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
Alert.ShowAlertMessage("Testing Code", Page);
}
}
类文件代码
public class Alert
{
public static void ShowAlertMessage(string error, Page page)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("$(document).ready(function() {");
sb.AppendLine(" $(\"form\").append($(\"<div>\").attr(\"id\", \"dialog\").css(\"display\", \"none\").html('"+error+"'));");
sb.AppendLine(" $(\"#dialog\").dialog({autoOpen: true,show: \"blind\",hide: \"explode\" });");
sb.AppendLine("});");
ScriptManager.RegisterStartupScript(page, page.GetType(), "err_msg", sb.ToString(), true);
}
}
希望它可以帮到你,
同样对我有用。这就是我建议的原因。
答案 1 :(得分:0)
ASP.NET Button控件具有Attributes属性。所以如果你想在服务器控件上调用javascript方法,你只需要添加“onclick”属性。例如,你有btnAlert控制:
Javascript文件:
function example1(title, content) {
$.msgBox({
title: title,
content: content
});
}
页面加载中的ASP.NET代码:
btnAlert.Attributes.Add("onclick", String.Format("example1('{0}', '{1}'); return false;", "some title", "some message"));
您应该添加return false以防止PostBack。 BTW如果您只需要一个控件来调用客户端方法,您可以使用常规html控件(<button onclick='example1("<%= Resources.Title %>", "<%= Resources.Content %>")'>Example button</button>
)并使用<%= %>
添加您的标题和内容。