Bir Ajax isteğinin parçası olarak kısmi bir görünüm oluşturuyorum. Bir görünümden kısmi görünümü çağırdığınızdaASP.NET MVC3 Controller.PartialView öğesini çağırırken bir HtmlFieldPrefix ekleyin
:
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++;
}
düzgün Modeli bağlama sağlamak için HtmlFieldPrefix ayarlamak mümkün.
public ActionResult NewMonitorValidationRule()
{
ValidationRule rule = new ValidationRule{Id = TempSurrogateKey.Next};
var view = PartialView("ValidationRuleRow", rule);
// CODE TO SET PartialView field prefix
return view;
}
:
$.ajax({
type: "GET",
url: "/Monitors/NewMonitorValidationRule",
success: function (data, textStatus, jqXHR) {
var element = $(data);
$("#ValidationRuleContainer").append(element);
}
});
Yani HTML almak için benim denetleyicisi bir eylem vardır:
Ben kullanıcı gibi, ajax ile anında yeni ValidationRuleRow eklemek mümkün istiyorum
Döndürülmüş HTML'nin bir öneki yok. Bir Denetleyicideki bir Eylemden bir PartialView çağrılırken bir önek ayarlamak için zaten var mı? , Daha da iyisi
@{
if (!string.IsNullOrEmpty(Model.MyPrefix))
{
ViewData.TemplateInfo.HtmlFieldPrefix = Model.MyPrefix;
}
}
Bunun için iyi bir ödül verdi. –
Çok teşekkürler, orada sürpriz beni yakaladı :) –
Bazen "id nitelikleri" girişi görüntülenmez ... [soru] (http://stackoverflow.com/questions/38638451/aspnet-mvc-5 -HTML-yardımcı-aksiyon yöntem görüş-sonuç giriş id-eksik bazen) – ooXei1sh