我的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