Estoy representando una vista parcial como parte de una solicitud de Ajax.ASP.NET MVC3 agregue un HtmlFieldPrefix al llamar a Controller.PartialView
Cuando llamo a la vista parcial desde un punto de vista:
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++;
}
soy capaz de establecer el HtmlFieldPrefix para permitir la encuadernación modelo adecuado.
Quiero que el usuario sea capaz de añadir un nuevo ValidationRuleRow sobre la marcha a través de AJAX, como:
$.ajax({
type: "GET",
url: "/Monitors/NewMonitorValidationRule",
success: function (data, textStatus, jqXHR) {
var element = $(data);
$("#ValidationRuleContainer").append(element);
}
});
Así que tienen una acción en mi regulador para obtener el código HTML:
public ActionResult NewMonitorValidationRule()
{
ValidationRule rule = new ValidationRule{Id = TempSurrogateKey.Next};
var view = PartialView("ValidationRuleRow", rule);
// CODE TO SET PartialView field prefix
return view;
}
El HTML devuelto no tiene un prefijo. ¿Hay alguna forma de establecer un prefijo al llamar a un Vista parcial desde una acción en un controlador?
Te di una recompensa por eso, bien jugado. –
Muchas gracias, me pilló por sorpresa :) –
Excepto que a veces los atributos 'id 'no se mostrarán ... Ver [mi pregunta] (http://stackoverflow.com/questions/38638451/aspnet-mvc-5 -html-helper-action-method-view-results-input-id-missing-sometimes) – ooXei1sh