Wyświetlany jest częściowy widok jako część żądania Ajax.ASP.NET MVC3 dodaje HtmlFieldPrefix podczas wywoływania Controller.PartialView
Kiedy zadzwonić częściowego widoku z widoku:
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++;
}
jestem w stanie ustawić HtmlFieldPrefix celu umożliwienia odpowiedniego modelu wiążące.
chcę użytkownika, aby móc dodać nowy ValidationRuleRow na bieżąco za pośrednictwem ajax, jak:
$.ajax({
type: "GET",
url: "/Monitors/NewMonitorValidationRule",
success: function (data, textStatus, jqXHR) {
var element = $(data);
$("#ValidationRuleContainer").append(element);
}
});
Mam więc działanie w moim kontrolera, aby uzyskać HTML:
public ActionResult NewMonitorValidationRule()
{
ValidationRule rule = new ValidationRule{Id = TempSurrogateKey.Next};
var view = PartialView("ValidationRuleRow", rule);
// CODE TO SET PartialView field prefix
return view;
}
Zwrócony kod HTML nie ma prefiksu. Czy jest mimo to ustawić prefiks podczas wywoływania PartialView z Akcja w kontroler?
Dałem ci nagrodę za ten, dobrze grany. –
Wielkie dzięki, zaskoczył mnie tam :) –
Z wyjątkiem czasami wejściowe 'atrybutów id' nie będzie renderować ... Zobacz [moje pytanie] (http://stackoverflow.com/questions/38638451/aspnet-mvc-5 -html-helper-action-method-view-results-input-id-missing-sometimes) – ooXei1sh