如何在jQuery中调用函数追加C#变量?

时间:2017-05-04 02:11:20

标签: c# jquery asp.net asp.net-mvc razor

我尝试使用下拉菜单中所选索引的值来调用函数,该菜单返回一个数组并将结果追加到我的div'内容',但我可以&# 39;我想我怎样才能做到这一点?我无法在我的函数中使用变量测试。

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

1 个答案:

答案 0 :(得分:1)

您可以在C# Method中传递JavaScript/jQuery值。但您无法将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>
}