我试图将自己的参数的多个链接从View传递给控制器但是我将null值解析为控制器。以下是重要的代码片段,任何帮助将受到高度赞赏。
@foreach (var item in Model) {
<a href="#?id=@item.Id&un=@item.ReceiverUn" class="list-group-item active myajaxlink" >
<span class="label label-inverse pull-right">@item.InOn</span>
<h4 class="list-group-item-heading">@item.SenderUn @item.Subject<i class="fa fa-flag text-primary"></i></h4>
<p class="margin-none">@Html.DisplayFor(modelItem => item.Body)</p>
</a>}
以下是使用Ajax的Javascript
<script type="text/javascript">
$(document).ready(function(){
$("#animatedgif").hide();
$(".myajaxlink").click(function () {
$.ajax({
url: "/InMail/check",
type: "POST",
data: { id: $('#id').val(), un: $('#un').val() }
}).done(function () {
}).complete(function (){
$("#animatedgif").hide();
}).success(function (dv) {
$(".email-content").replaceWith(dv);
});
});
});
$(document).ajaxStart(function () {
$("#animatedgif").show();
}).ajaxSuccess(function () {
$("#animatedgif").hide();
});
function myonbegin() {
//show animated gif
//alert("helloworld");
$("#animatedgif").show();
}
function myonsuccess() {
//disable animated gif
$("#animatedgif").hide();
}
function myonfailure() {
//disbale animated gif
$("#animatedgif").hide();
}
function myoncomplete() {
//disable animated gif
$("#animatedgif").hide();
}
</script>
答案 0 :(得分:0)
您得到null,因为$('#id').val()
和$('#un').val()
返回null。这发生because此$('#id').val()
构建搜索元素在页面上具有属性id =“id”和#un - id =“un”。
要实现您的需求,您只需添加以下修改:
<强>剃刀:强>
@foreach (var item in Model) {
<a href="#" data-id="@item.Id" data-un="@item.ReceiverUn" class="list-group-item active myajaxlink" >
<span class="label label-inverse pull-right">@item.InOn</span>
<h4 class="list-group-item-heading">@item.SenderUn @item.Subject<i class="fa fa-flag text-primary"></i></h4>
<p class="margin-none">@Html.DisplayFor(modelItem => item.Body)</p>
</a>
}
<强>使用Javascript:强>
$(".myajaxlink").click(function (e) {
e.preventDefault();
var link=$(this);
$.ajax({
url: "/InMail/check",
type: "POST",
data: { id: link.attr("data-id"), un: link.attr("data-un") }
})
//handle .done, .fail and etc.
});