माना कि मेरे पास रोल्स टेबल इस तरह है:

tb_role
RoleId  Role_Name
     1  SalesCreate
     2  SalesEdit
     3  AgentCreate
     4  AgentEdit

मैं चेकबॉक्स में बिक्री के लिए भूमिका सूचीबद्ध करना चाहता हूं (SalesCreate और SalesEdit, इसलिए इसमें केवल 2 चेकबॉक्स हैं)। मैंने aspnet कॉन्फ़िगरेशन का उपयोग करके अपना tb_role बनाया है, इसलिए यह संस्थाओं का उपयोग नहीं करता है।

यहाँ मेरा नियंत्रक:

RegisterModel account = new RegisterModel();
account.Roles = new MultiSelectList(Roles.GetAllRoles()); 

और मेरा विचार:

 <td><select id="Roles" name="Roles">
                    <option>Sales</option>
                    <option>Agent</option>
     </select>
 </td>

@foreach (var item in Model.Roles)
             {
                 <label for="@item.Value">
                   <input type="checkbox" id="@item.Value" name="RolesSelected" value="@item.Value" @(item.Selected ? "checked" : "") />@item.Text</label>
             }

जब मैं अपना प्रोजेक्ट चलाता हूं, तो मेरा चेकबॉक्स tb_role में सभी भूमिकाओं को सूचीबद्ध करता है। मैं चाहता हूं कि अगर मैं बिक्री चुनता हूं, तो मेरा चेकबॉक्स बिक्री के लिए सभी भूमिकाएं सूचीबद्ध करता है (SalesCreate और SalesEdit)। उसको कैसे करे ?

बहुत - बहुत धन्यवाद

1
ntep vodka 26 सितंबर 2011, 12:04

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा करने के कुछ तरीके। एक तरीका यह है:

<select> को <form> टैग से घेरें और बदलाव पर सबमिट करें।

आपके नियंत्रक में:

public ActionResult Index(..., string role)
{
    //... rest of your code
    RegisterModel account = new RegisterModel();
    account.Roles = new MultiSelectList(Roles.GetAllRoles().Where(w => w.StartsWith(role)); 
    //... rest of your code
}
0
mnsr 26 सितंबर 2011, 12:20