您好我在改进我的mvc应用网站并实施更好的设计过程中进行了全面的清理工作。我仍然无法正常工作的一件事是在div点击的视图中将2个字符串传递给我的家庭控制器。 我能够使用带有文本框的Html.BeginForm方法做得很好,但这不是理想的实现。
视图:
<a href="#" id=" next">
<div class="next">
</div>
</a>
@section scripts
{
<script type="text/javascript">
$("#next").on("click", function (e) {
e.preventDefault();
$ajax({
type: "Post",
datatype: "text",
url: "/Home/Komic",
data: {
action: "next",
num: "1"
},
});
});
</script>
}
控制器:
public ActionResult Komics(string action, string num)
{
//do stuff
//will return element in list depending on action/num passed from view
return View(list.ElementAt(KomicIndex));
}
为了帖子,我一直保持简单。但这个想法是,一旦&#34; next&#34;单击div,ajax调用将通过&#34; action&#34;和&#34; num&#34;控制器的字符串参数,它将使用列表中的已确定元素返回其视图。
如前所述,我可以通过这种方法轻松完成此任务:
@using (Html.BeginForm("Komics", "Home"))
{
@Html.TextBox("action")
@Html.TextBox("num")
<input type="submit" class="btn" />
}
但我不能在我的设计中使用它。所以我基本上想要使用ajax复制相同的结果并单击&#34; next&#34;格。
我已经在这里捶打了好几天;但到目前为止没有骰子。 提前谢谢!
答案 0 :(得分:0)
试试这个
var info={"action":"text",
"num":"1"};
$.ajax({
type: 'GET',
url: '@Url.Action("Komics","Home")',
data: info,
error:function(error){
//do sth
},
success:function(result){
console.log(result);
//see the result comes from server
}
});