私はAjaxリクエストの一部として部分ビューをレンダリングしています。私はビューからの部分図呼び出すとASP.NET MVC3はController.PartialViewを呼び出すときにHtmlFieldPrefixを追加します
:
int i=0;
foreach(var rule in Model.Rules) {
@Html.Partial("ValidationRuleRow", rule, new ViewDataDictionary {
TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = string.Format("Rules[{0}]", i) } })
i++;
}
を私は、適切なモデルを結合可能にするためにHtmlFieldPrefixを設定することができています。
私は、ユーザーは次のように、AJAXを経由してその場で新しいValidationRuleRowを追加できるようにしたい:だから私はHTMLを取得するために私のコントローラ内のアクションを持って
$.ajax({
type: "GET",
url: "/Monitors/NewMonitorValidationRule",
success: function (data, textStatus, jqXHR) {
var element = $(data);
$("#ValidationRuleContainer").append(element);
}
});
:
public ActionResult NewMonitorValidationRule()
{
ValidationRule rule = new ValidationRule{Id = TempSurrogateKey.Next};
var view = PartialView("ValidationRuleRow", rule);
// CODE TO SET PartialView field prefix
return view;
}
返されるHTMLには接頭辞がありません。コントローラ内のアクションからPartialViewを呼び出すときに接頭辞を設定する必要はありますか? 、さらに良い
@{
if (!string.IsNullOrEmpty(Model.MyPrefix))
{
ViewData.TemplateInfo.HtmlFieldPrefix = Model.MyPrefix;
}
}
あなたには、うまく演奏されたその賞金があります。 –
ありがとう、たくさんの私を驚かされてキャッチ::) –
時々入力 'id属性'はレンダリングされません... [私の質問を参照してください](http://stackoverflow.com/questions/38638451/aspnet-mvc-5 -html-helper-action-method-view-results-input-id-missing-sometimes) – ooXei1sh