我终于在我的代码中取得了进展,但现在我有一个小问题,可以通过下面的代码更好地显示
<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将保留该值。
答案 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>
我希望它会对你有所帮助。告诉我,如果出现问题