[英]Telerik MVC EditorTemplate Model is empty
我正在使用Telerik MVC網格來讓用戶管理系統中的報告。 我構建了一個EditorTemplate,其中包含一些字段以及Telerik的上載器。
我想將ReportId傳遞給uploader方法,以便它知道文件所屬的報告記錄。
@model MyMvcApp.Models.ReportModel
@Html.DisplayFor(t => t.ReportID)
@Html.HiddenFor(t=> t.ReportID)
@(Html.Telerik().Upload()
.Name("attachments")
.Multiple(false)
.Async(async => async.Save("Save", "Report",
new { Id = Model.ReportID })
.AutoUpload(true)
))
但是, Model.RaportId
返回空的GUID。
另外, @Html.DisplayFor(t => t.ReportID)
無法正常工作。
但是@Html.HiddenFor(t=> t.ReportID)
在我檢查頁面時工作正常。
我知道Telerik在創建編輯器模板時正在構建虛擬模型。 但是可以做什么?
總而言之,我現在已更改為使用單獨的視圖進行創建/更新,但我想將其構建到網格中。 經驗會更好。
我認為您可能需要利用Telerik MVC的Client API中的OnUpload
方法 。
通過此方法,您可以在發送上傳請求之前訪問數據。 因此,您可以調試上傳的數據,如果不正確,則可以對其進行操作(例如,添加正確的ReportID參數)。
我遇到了同樣的問題,開始搜索。 據telerik稱, ajax編輯模式不支持Display模板 。 我認為這是有道理的,因為編輯模式幾乎立即彈出。 您將需要使用網格的OnEdit事件。
我現在正在使用禁用的文本框,如下所示。
@Html.TextBoxFor(model => model.ReportId, new { disabled = "disabled" })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.