C# 向控制器返回2个值,文本保持为空
尝试将2个值传递回控制器id',并且“text”…id传递ok,但text总是返回null。知道为什么吗C# 向控制器返回2个值,文本保持为空,c#,html,asp.net,asp.net-mvc-3,C#,Html,Asp.net,Asp.net Mvc 3,尝试将2个值传递回控制器id',并且“text”…id传递ok,但text总是返回null。知道为什么吗 <div class="modal-body"> <input type="hidden" id="AlertFreeTextId" name="AlertFreeTextId" value="@Model.AlertFreeTextId" /> <input type="hidden" id="Text" name="Text" value="@M
<div class="modal-body">
<input type="hidden" id="AlertFreeTextId" name="AlertFreeTextId" value="@Model.AlertFreeTextId" />
<input type="hidden" id="Text" name="Text" value="@Model.Text" />
<div class="form-group">
@Html.LabelFor(x => x.Text)
@Html.TextAreaFor(x => x.Text, new { @class = "form-control" })
@Html.ValidationMessageFor(x => x.Text)
</div>
<div>
<a href='@Url.Action("CreateAlertFreeText", "AlertFreeText", new { id = Model.AlertFreeTextId, text = Model.Text})'>
<button class="btn btn-primary">@T("Save")</button>
</a>
</div>
</div>
这一行在这里:
<a href='@Url.Action("CreateAlertFreeText", "AlertFreeText", new { id = Model.AlertFreeTextId, text = Model.Text})'>
所有这一切都是为了获取传递到视图中的文本。我假设在调用视图时,Model.Text为null,因此它返回的正是null
这样提交时,需要从表单中提取数据
我建议使用表单post或调用jquery方法来创建post,您可以在其中提取表单数据
可能是这样的:警告:未经测试
<div class="modal-body">
<input type="hidden" id="AlertFreeTextId" name="AlertFreeTextId" value="@Model.AlertFreeTextId" />
<input type="hidden" id="Text" name="Text" value="@Model.Text" />
<div class="form-group">
@Html.LabelFor(x => x.Text)
@Html.TextAreaFor(x => x.Text, new { @class = "form-control" })
@Html.ValidationMessageFor(x => x.Text)
</div>
<div>
<a href='#' id='alertFreeTextLink'>
<button class="btn btn-primary">@T("Save")</button>
</a>
</div>
</div>
<script>
$(document).ready(function() {
$("#alertFreeTextLink").click(function() {
var url = '@Url.Action("CreateAlertFreeText", "AlertFreeText",
new { id = Model.AlertFreeTextId })';
url = url + "&text=" + $("#Text").val();
$.ajax({
url: url
})
.done(function(response) {
/// Do something here
});
});
});
</script>
还有,你为什么有这一行:?现在有两个ID为Text的字段。删除这个。我担心这不起作用。…@Url.ActionCreateAlertFreeText,AlertFreeText,标记为未终止的字符串常量,如果这有帮助的话?我尝试添加了一个aleri,它在脚本中没有到达,是的,我引用了jqueryWhy你在链接中有一个按钮吗?
<div class="modal-body">
<input type="hidden" id="AlertFreeTextId" name="AlertFreeTextId" value="@Model.AlertFreeTextId" />
<input type="hidden" id="Text" name="Text" value="@Model.Text" />
<div class="form-group">
@Html.LabelFor(x => x.Text)
@Html.TextAreaFor(x => x.Text, new { @class = "form-control" })
@Html.ValidationMessageFor(x => x.Text)
</div>
<div>
<a href='#' id='alertFreeTextLink'>
<button class="btn btn-primary">@T("Save")</button>
</a>
</div>
</div>
<script>
$(document).ready(function() {
$("#alertFreeTextLink").click(function() {
var url = '@Url.Action("CreateAlertFreeText", "AlertFreeText",
new { id = Model.AlertFreeTextId })';
url = url + "&text=" + $("#Text").val();
$.ajax({
url: url
})
.done(function(response) {
/// Do something here
});
});
});
</script>