2014-12-08 19 views
4

我是新來的MVC5,我想限制Create方法顯示一個字符串字段與基於角色的固定值。根據Authrized Roles創建一個固定值「string field」?

更多細節我想根據UserRole設置帶有固定值的區域參數「Jeddah,Riyadh,Alahsa」。如果角色JeddahAdminAssitant中的用戶只能創建具有區域Jeddah等的新員工,請提供幫助嗎?

我該如何實現它。 我搜索了很多,我發現我可以通過在創建視圖中添加Java scrip來實現。 下面是我的嘗試

<script type="text/javascript"> 
    if ($(Role) == 'JeddahAdminAssitant') { 
     $('input[Region="Jeddah"]').prop("disabled", true); 
    } 
    else { 
     $('input[Region="Riyadh"]').prop("disabled", false); 
    } 
</script> 
@using (Html.BeginForm("Create", "Employees", FormMethod.Post, new { enctype = "multipart/form-data" })) 

回答

0

你可以把角色信息到您的視圖

@model Role 

<script type="text/javascript"> 
    var roleName = '@Model.RoleName'; 

    if (roleName == 'JeddahAdminAssitant') { 
    $('input[Region="Jeddah"]').prop("disabled", true); 
    } 
    else { 
     $('input[Region="Riyadh"]').prop("disabled", false); 
    } 
</script> 
@using (Html.BeginForm("Create", "Employees", FormMethod.Post, new { enctype = "multipart/form-data" })) 

,或者您可以使用角色的信息來創建HTML元素。例如

@if(Model.RoleName == "..."){ 
    <input ..../> 
} 
+1

,當我試圖加入@model的作用,但它給我的錯誤 – Tuta 2014-12-08 10:51:45

+0

分析器錯誤說明:該請求提供服務所需資源的分析過程中發生錯誤。請檢查以下特定的分析錯誤詳細信息並適當修改您的源文件。 解析器錯誤消息:文件中只允許有一個「模型」語句。任何建議? – Tuta 2014-12-08 10:52:30

+0

@model角色就是一個例子,你應該使用你自己的模型 – 2014-12-08 11:06:53