![](/img/trans.png)
[英]how to set variable/custom id value to Html.TextBoxFor - MVC, C#, Razor
[英]ASP MVC Razor View doesn't want to show @Html.TextBoxFor value from the model
我的剃刀視圖正在接受一個模型......我有這個代碼......
@{
var my_value = "wth";
if (Model.app != null)
{ my_value = Model.app.name; }
}
@Html.TextBoxFor(a => a.app.name, new { @Value = my_value })
當模型不為空時顯示“wth”......做了一些調試以查看 my_value 是否設置正確......嗯
編輯:
謝謝你的意見。
對 ASP MVC 有點陌生。 我正在嘗試做的一些背景:
我有一個主視圖 Main.cshtml,它顯示記錄。 每條記錄都可以通過單擊字形進行編輯。
JS 代碼獲取 record_id 並通過 Ajax 調用應用程序控制器/editApp 操作。
我在 Main.cshtml 中有一個部分 _EditApplication.cshtml,用於顯示我的選項卡式 jQuery UI 對話框。 並且還使用 _AddAppForm.cshtml 部分,它將模型顯示在數據字段中。
.... 我認為這就是我的問題所在(等等)...我在主視圖中調用部分(_EditApplication.cshtml)...我在我的控制器操作中返回相同的部分關聯模型。
代碼:
主文件
@{ 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 - 部分
@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>
所以,是的,我想通了……萬一有人像這樣卡住……要進行更改:
主.cshmtl:
在此處添加部分不起作用,必須將其替換為包含部分的帶有 ID 的 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 和控制器沒有變化。
清理_AddAppForm.cshmtl ...
<div class="form-group">
@Html.LabelFor(a => a.app.name)
@Html.TextBoxFor(a => a.app.name)
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.