রেজারে ডেটা অ্যাট্রিবিউটগুলি কীভাবে নির্দিষ্ট করা যায়, উদাহরণস্বরূপ, @ this.Html.CheckBoxfor (…) তে ডেটা-এক্সটার্নিড = "23151"


122
@this.Html.CheckBoxFor(m => m.MyModel.MyBoolProperty, new { @class="myCheckBox", extraAttr="23521"})

রেজারের সাহায্যে আমি ডেটা-অ্যাট্রিবিউটের মতো মান নির্দিষ্ট করতে অক্ষম data-externalid="23521"

এটি ব্যবহার করে কি কোনও উপায় আছে @this.Html.CheckBoxFor(...)?

উত্তর:


267
@Html.CheckBoxFor(
    m => m.MyModel.MyBoolProperty, 
    new { 
        @class = "myCheckBox", 
        data_externalid = "23521"
    }
)

_স্বয়ংক্রিয়ভাবে রূপান্তরিত হবে -ফলে মার্কআপ মধ্যে:

<input type="checkbox" name="MyModel.MyBoolProperty" data-externalid="23521" class="myCheckBox" />

এবং এটি সমস্ত এইচটিএমএল সাহায্যকারীদের পক্ষে বেনিফিট htmlAttributesঅবজেক্টকে যুক্তি হিসাবে গ্রহণ করা সত্য , কেবল CheckBoxForসহায়ক নয়।


4
বাহ, আমি দেখতে পাচ্ছি '_' '-' রূপান্তরটি সত্যিই বিভ্রান্ত হচ্ছে ... বিশেষত যদি কোনও স্ট্রিং অনুসন্ধান করে কোনও প্রদত্ত ডেটা অ্যাট্রিবিউট সন্ধান করে। অন্য উপায় আছে?
রায়লাভলেস

5
কেবল এটি রূপান্তর করুন: নতুন {ডেটা_স্টেস্ট = "সত্য"}) -> নতুন অভিধান <স্ট্রিং, অবজেক্ট> {data "ডেটা-পরীক্ষা", "সত্য"}});
ডোমিনিক আলেকজান্দ্রে

1
এবং আপনার ভিউমোডেল থেকে আসা মানটি যদি আপনার প্রয়োজন হয়; new { @class = "myCheckBox", data_externalid = Model.ExternalId }আমি এই বিষয়ে সহায়তা খুঁজতে এসেছি এবং এটিই আমার প্রয়োজন ছিল। :)
স্কট ফ্রেলে

8 বছরেরও বেশি পরে এই উত্তরটি আমাকে কেবলমাত্র ব্যাপকভাবে সাহায্য করেছে। আমার ভ্যূ ফর্ম ভি-মডেল ট্যাগটি কেন কাজ করবে না তা আমি কাজ করতে পারিনি। এর পরিবর্তে আমাকে v_model = "blah" ব্যবহার করতে হয়েছিল।
অ্যান্ড্রু জুনিয়র হাওয়ার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.