我的剃刀视图正在接受一个模型......我有这个代码..
@{
var my_value = "wth";
if (Model.app != null)
{ my_value = Model.app.name; }
}
@Html.TextBoxFor(a => a.app.name, new { @Value = my_value })
当模型不为null时,显示'wth'...做了一些调试以查看my_value是否设置正确...嗯
编辑:
感谢您的评论。
ASP MVC有点新鲜。我想要做的一些背景:
我有一个主视图Main.cshtml,它显示了记录。单击glyphicon可以编辑每条记录。
JS代码抓取record_id并使Ajax调用Application Controller / editApp操作。
我在Main.cshtml中有一个部分的_EditApplication.cshtml来显示我的选项卡式jQuery UI对话框。并且还使用_AddAppForm.cshtml partial,使模型显示在数据字段中。
....我认为这是我的问题所在(其中lol)...我在主视图中调用部分(_EditApplication.cshtml)...我在Controller中返回相同的部分具有关联模型的操作。
代码:
Main.cshmtl
@{ AppDBServer this_ads = new AppDBServer(); }
@Html.Partial("_EditApplication", this_ads)
<div id=@app.app_id.ToString() class="glyphicon glyphicon-pencil btn_edit_app" aria-hidden="true" style="color:blue; cursor:pointer"></div>
Main.cshtml中的JS代码
$('.btn_edit_app').click(function () {
var app_to_edit = $(this).attr('id');
$.ajax({
url: '/Application/editApp',
contentType: 'application/html; charset=utf-8',
data: { app_id: app_to_edit},
type: 'GET',
dataType: 'html',
success: function (result) {},
});
$('#edit_tabs').tabs({ active: 0 });
$('#edit_dialog').dialog({ width: 700, height: 400 });
});
_EditApplication.cshtml - Partial
@using NameSpace.Models
@model AppDBServer
<div id="edit_dialog" title="Edit Application" style="display: none">
@using (Html.BeginForm("saveApps", "Application", new { isNew = false })) {
<div id="edit_tabs">
<ul><li><a href="#edit_application">Application</a></li></ul>
@Html.Partial("_AddAppForm", @Model)
</div>
}
</div>
Application Controller - 操作:editApp
namespace SHS_Connect.Controllers
{
public class ApplicationController : Controller
{
public ActionResult editApp(int app_id)
{
AppDBServer ads = new AppDBServer();
ads = findADS(app_id);
return PartialView("_EditApplication", ads);
}
}
}
_AddAppForm.cshmtl - _EditApplication.cshtml中使用的部分
@using NameSpace.Models
@model AppDBServer
<div id="application">
<div class="form-group">
@Html.LabelFor(a => a.app.name)
@{
var my_value = "wth";
if (Model.app != null)
{ my_value = Model.app.name; }
}
@Html.TextBoxFor(a => a.app.name, new { @Value = my_value })
</div>
</div>
答案 0 :(得分:0)
所以,是的,我明白了......万一有人像这样被卡住了......改变了:
Main.cshmtl:
在此处添加部分不起作用,必须将其替换为包含部分内容的div标签...
<div id="div_editapp_dialog"></div>
Main.cshtml中的JS代码:
成功函数应该填充div并获取标签/对话框。
success: function (result) {
$('#div_editapp_dialog').html(result);
$('#edit_tabs').tabs({ active: 0 });
$('#edit_dialog').dialog({ width: 700, height: 400 });
}
没有更改_EditApplication.cshtml和Controller。
清理_AddAppForm.cshmtl ...
<div class="form-group">
@Html.LabelFor(a => a.app.name)
@Html.TextBoxFor(a => a.app.name)
</div>