在get方法上的MVC4里面的Jquery变量

时间:2014-06-01 18:16:37

标签: jquery asp.net-mvc-4

我终于在我的代码中取得了进展,但现在我有一个小问题,可以通过下面的代码更好地显示

<script>
 $(".mee").click(function (e) {
           var getID = $(this).attr("id");
  //I want getID passed inside the Url Action
            $.get('@Url.Action("ViewResponse", "thread", new {Model.Response= ?? })',   function (data) {
            $("#resultpost_"+getID).html(data).show();
         });
 });
</script>

如果你看一下上面的代码,我有一个jquery变量 getID ,它保存了我需要在mvc4帮助器中传递的值 Url.Action 具体我希望< strong> Model.Resonse 等于 getID 但我无法在action方法中传递jquery变量如何解决这个问题?并且我在页面中的代码是foreach,这就是我使用Jquery的原因,因为值会根据用户点击的内容而改变。

这是动作方法的样子

 public PartialViewResult ViewResponse(PostResponse response,int responses_ThreadpostID)
    {
        response.ThreadpostID = responses_ThreadpostID;
            return PartialView("_ResponseView");
    }

所以基本上 Get 方法将值传递给PartialView,从那里partialView将保留该值。

1 个答案:

答案 0 :(得分:0)

如果我完全理解您要实现的目标,您可以先修改Action仅传递int而不是您不会使用的模型。

public PartialViewResult ViewResponse(int responses_ThreadpostID)
{   
    PostResponse response = new PostResponse();
    if(responses_ThreadpostID!=0)
    response.ThreadpostID = responses_ThreadpostID;
        return PartialView("_ResponseView",response);
}

在部分视图中,您必须确保模型与传递的模型相对应。

对于你的javascript函数,你可以这样:

<script>
$(".mee").click(function (e) {
       var getID = $(this).attr("id");
//I want getID passed inside the Url Action
        $.get('@Url.Action("ViewResponse", "thread")', {responses_ThreadpostID=getID  })
         .done(function(data) {
           $("#resultpost_"+getID).html(data).show();
         });
 });
</script>

我希望它会对你有所帮助。告诉我,如果出现问题