如何在类文件中调用jquery函数

时间:2013-06-01 16:46:40

标签: c# javascript jquery asp.net

大家好我已经创建了一个我想在整个应用程序中使用的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);

但是我无法收到消息,所以有没有办法创建一个独特的方法,而不是在每个页面上调用脚本,

2 个答案:

答案 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>)并使用<%= %>添加您的标题和内容。