Knockout.js y MVC
-
29-09-2019 - |
Pregunta
Sólo empezó a jugar con knockout.Js que es un marco fantástico Steve hace realmente bien con eso. Una cosa que me parece que no puede hacer en el minuto es impliment con mi HTML ayudantes. Así que para exmaple Tengo:
<%: Html.TextBoxFor(model => model.Division) %>
pero me gustaría línea usar el databind sobre eso, pero en el momento en que puedo tener el atributo "databind" en el ayudante. He usado antes de atributos tales como @class, Id, etc, pero éste es complicado debido a las - cualquier idea .. He intentado:
<%: Html.TextBoxFor(model => model.SupplierName, new { data-bind = "SupplierName"}) %>
y
<%: Html.TextBoxFor(model => model.SupplierName, new { "data-bind"" = "SupplierName"}) %>
pero no alegría. que utilizamos en gran medida los ayudantes editor y cuadro de texto y realmente me gustaría a integrarlos en el artículo de noquear con ..
Cualquier ayuda mucho appretiated
Solución
Esto debería funcionar:
<%: Html.TextBoxFor(model => model.SupplierName, new { data_bind = "SupplierName"}) %>
Los nombres de variable no puede contener un guión (-). Pero si se utiliza un guión bajo (_) en un atributo HTML, se convierte automáticamente en un guión cuando su 'prestados'
Otros consejos
Se puede suministrar atributos ya sea como objeto anónimo o como un diccionario. En este caso particular, un diccionario se debe utilizar:
<%: Html.TextBoxFor(m => m.SupplierName, new Dictionary<string, object> { { "data-bind", "SupplierName" } }) %>
I utiliza la respuesta de Jim como la base para mi solución MVC 4.
Jim:
<%: Html.TextBoxFor(model => model.SupplierName, new { data_bind = "SupplierName"}) %>
Mina:
@Html.TextBoxFor(model => model.SupplierName, new { data_bind = "value: SupplierName" })
Usando Html.TextBoxFor con clase y propiedad personalizada ( MVC) de cómo hacerlo en MVC3. Im utilizando MVC2 por lo que la respuesta anterior fue perfecto para mí