سؤال

بدأت للتو اللعب مع knockout.js وهو إطار رائع أن ستيف حقق أداءً جيدًا مع هذا الإطار. شيء واحد لا يمكنني فعله في الوقت الحالي هو إعطاءه مع مساعدي HTML. لذلك بالنسبة إلى exmaple لدي:

 <%: Html.TextBoxFor(model => model.Division) %>

لكنني سأقوم بتوصيل Databind على ذلك ، لكن في الوقت الحالي ، لا يمكنني الحصول على سمة "Bind-bind" في المساعد. لقد استخدمت سمات من قبل مثل @class ، id etc ولكن هذا واحد صعب بسبب - أي أفكار .. لقد حاولت:

<%: Html.TextBoxFor(model => model.SupplierName, new { data-bind = "SupplierName"}) %>

و

 <%: Html.TextBoxFor(model => model.SupplierName, new { "data-bind"" = "SupplierName"}) %>

لكن لا فرح. نستخدم مساعدين محرر ومربع نصية ، وأود حقًا دمجها في العنصر مع الخروج ..

أي مساعدة تم اعتمادها كثيرًا

هل كانت مفيدة؟

المحلول

هذا يجب أن يعمل:

<%: Html.TextBoxFor(model => model.SupplierName, new { data_bind = "SupplierName"}) %>

لا يمكن أن تحتوي الأسماء المتغيرة على واصلة (-) ولكن إذا كنت تستخدم السطح السفلي (_) في سمة HTML ، يتم تحويله تلقائيًا إلى واصلة عند "تقديمه".

نصائح أخرى

يمكنك توفير سمات إما ككائن مجهول أو كقاموس. في هذه الحالة بالذات ، يجب استخدام قاموس:

<%: Html.TextBoxFor(m => m.SupplierName, new Dictionary<string, object> { { "data-bind", "SupplierName" } }) %>

لقد استخدمت إجابة جيم كقاعدة لحل MVC 4.

جيم:

<%: Html.TextBoxFor(model => model.SupplierName, new { data_bind = "SupplierName"}) %>

مِلكِي:

@Html.TextBoxFor(model => model.SupplierName, new { data_bind = "value: SupplierName" })

نرى باستخدام html.textboxfor مع فئة وخاصية مخصصة (MVC) لكيفية القيام بذلك في MVC3. أنا أستخدم MVC2 لذلك كانت الإجابة أعلاه على الفور بالنسبة لي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top