从javascript / jquery调用#方法并获取结果

时间:2012-09-03 12:48:10

标签: c# javascript jquery asp.net

我在ASP.Net,c#应用程序中有一个对话框。这个对话框有一个文本框。当我选择保存时,我想从C#调用一个函数,在数据库中进行一些验证,然后在javascript /中得到结果jquery。如果插入的值为true,我想以其他方式关闭对话框以保持打开状态,但是当我从c#函数收到true后我无法关闭对话框.Below是代码:

ascx:

    <div id="popup" title="Choose Delegate">
        <label>Delegate<label><input type="textbox" value="" name="inputD" id=="inputD"/>
     </div>

使用Javascript:

$('#btnAdd').click(function(e){
$('#divPopup').slow("show");
$('#divPopup').dialog({
      height:150,
      width:300,
      modal:true,
      buttons:{
               "close":function(){$(this).dialog("close");}
               "save":function(){
                  var obj=document.getElementid("inputD");

                  $.ajax({
                    type: "POST",
                    url: "add.aspx/check",
                    data: "{delegate: '" + obj.Value+"'}",
                    contentType: "application/json; charset=utf-8", 
                    dataType: "json",
                    success: function (msg) {
                          rez= "OK";
                          $(this).dialog("close");
                         },
                    failure: function () {alert("FAIL"); }});                    }
        });
      }

C#:

[WebMethode]
public static Boolean check(string delegate)
{
   .....

   return true;

  }

C#方法返回核心值。

我也试着这个:

       $('#btnAdd').click(function(e){

           $('#divPopup').slow("show");
           $('#divPopup').dialog({
                       height:150,
                       width:300,
                       modal:true,
                       buttons:{
             "close":function(){$(this).dialog("close");}

            "save":function(){
                  var obj=document.getElementid("inputD");
                  var rez ;

                  $.ajax({
                    type: "POST",
                    url: "add.aspx/check",
                    data: "{delegate: '" + obj.Value+"'}",
                    contentType: "application/json; charset=utf-8", 
                    dataType: "json",
                    success: function (msg) {
                          rez= "OK";
                                                       },
                    failure: function () {alert("FAIL"); }
                 });       

                    if (rez="OK")
                          $(this).dialog("close");

         }
        });

但在这种情况下它没有看到rez值。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以在“save”:function(e)中使用Ajax Call,如果是true close对话则只检查返回值,否则保持打开状态

Ajax调用实现起来非常简单,我让你搜索:)

答案 1 :(得分:0)

您需要在服务器端提供Web服务。 (最好是REST)

http://restsharp.org/是一个易于使用的库。

请查看this question了解详情。

在前端你给你一个ajax调用你的REST api(我看你使用jquery所以它不会那么难;)