我的Razor视图接受一个模型显示@ Html.TextBoxFor值...我在此代码..ASP MVC Razor视图并不想从模型
@{
var my_value = "wth";
if (Model.app != null)
{ my_value = Model.app.name; }
}
@Html.TextBoxFor(a => a.app.name, new { @Value = my_value })
显示“问心无愧“当模特是不是空...做了一些调试,看看是否MY_VALUE设置正确...嗯
编辑:
谢谢你的意见。
有点新的ASP MVC。一些我想要做的背景:
我有一个主视图Main.cshtml,它显示记录。每个记录都可以通过点击图形来编辑。
JS代码抓取record_id并对应用程序控制器/ editApp操作进行Ajax调用。
我在Main.cshtml中有一个partial _EditApplication.cshtml来显示我的选项卡式jQuery UI对话框。并且还使用_AddAppForm.cshtml部分,它将模型显示在数据字段中。
....我认为这是我的问题(其中包括其他大声笑)......我在主视图中调用partial(_EditApplication.cshtml)...并且我返回了同样的部分在我的控制器与相关模型的操作。
代码:
Main.cshmtl
@{ AppDBServer this_ads = new AppDBServer(); }
@Html.Partial("_EditApplication", this_ads)
<div [email protected]_id.ToString() class="glyphicon glyphicon-pencil btn_edit_app" aria-hidden="true" style="color:blue; cursor:pointer"></div>
JS代码Main.cshtml
$('.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 - 部分
@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>
应用程序控制器 - 操作: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>
什么都在做,标志着下来纯缺乏了解 –
问题使用'HtmlHelper'方法时,不要尝试设置'value'属性。在将模型传递给视图之前,您可以在GET方法中设置该属性的值。 –
这就是我通常所做的......我有一个糟糕的设计问题,我在想..我在Main.cshtml中使用了相同的部分,并将相同的部分与数据库中的模型和关联值一起返回。在Main中,局部只需要一个空模型......所以当我去显示时......我说,如果它是空的,那么只显示一个空的字段。 为什么我使用相同的部分: - 如果我不在Main.cshtml中包含部分,我的jQuery对话框w/tabs不会弹出。 - 我还需要选项卡来显示模型数据。 – MAR