2017-05-04 21 views
1

我想调用一个下拉菜单的选择索引的值的函数返回一个数组并将结果追加到我的div'内容',但我不知道如何使这项工作?我不能在我的函数中使用变量测试。如何在jQuery中调用函数附加C#变量?

@section Scripts { 
    <script> 
     var test = document.getElementById("drop-down").value 
     $("#content").append("<h1>" + @DB.AfficherReponses(test)[0] + "</h1>") 
    </script> 
} 
+1

您需要使用AJAX调用服务器方法,并返回一个响应(或传递DB.AfficherReponses'的'所有值的视图,并将其分配到一个JavaScript阵列) –

回答

1

可以在JavaScript/jQuery通过C# Method值。但是您无法将JavaScript/jQuery的值传递到C# Method

可能:

@{var str="Hi";} 

@section Scripts { 
    <script>   
     $("#content").append("<h1>'" + @str + "'</h1>") 
    </script> 
} 

不可能:

@section Scripts { 
    <script> 
     var test = document.getElementById("drop-down").value 
     @DB.AfficherReponses(test) 
    </script> 
} 

但是你可以通过AJAX调用执行。

实施例:

//controller 
public class JsonDemoController : Controller 
    { 
     public JsonResult WelcomeNote(string name) 
     { 
      string output = "Welcome " +name;  
      return Json(output, JsonRequestBehavior.AllowGet); 
     } 
    } 

//view 

@section Scripts { 
    <script> 
     var test = document.getElementById("drop-down").value 
     $("#content").append("<h1>'" + getWelcomeNote(test) + "'</h1>") 

function getWelcomeNote(name) { 
    var json; 
    $.ajax({ 
     url: "/JsonDemo/WelcomeNote/" + anme, 
     dataType: 'json', 
     async: false 
    }).done(function (data) { 
     json = data; 
    }); 
    return json; 
} 

    </script> 
}