2013-06-01 2 views
0

Привет всем Я создал JavaScript, который я хочу использовать в моей заявке, так что я создал класс, который возвращает строку следующим образомКак вызвать функцию JQuery в файле класса

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

Почему у вас есть метод CS в RegisterStartupScript? – Botonomous

+0

@Dotnet решила проблему? –

+0

Да, вы можете проверить мой ответ здесь http://stackoverflow.com/questions/16885123/javascript-with-in-stringbuilder – Dotnet

ответ

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); 
} 
} 

Надеюсь, вам это поможет.

То же самое работает для меня. Вот почему я предложил то же самое.

+0

Привет, мне нужно сделать в соответствии с примером http://jquerymsgbox.ibrahimkalyoncu.com/ Я пробовал это в конвертации, но не сработало, может помочь мне – Dotnet

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")); 

Вы должны добавить вернуть ложь, чтобы предотвратить PostBack. BTW Если вам нужен элемент управления только для вызова методов на стороне клиента, вы можете использовать общий элемент управления html (<button onclick='example1("<%= Resources.Title %>", "<%= Resources.Content %>")'>Example button</button>) и добавить свое название и контент с помощью <%= %>.

Смежные вопросы