我使用Html助手類來創建單選按鈕。它按照預期工作,但是當我嘗試添加自定義html屬性時,它不會添加到html中。無法使用html助手添加html屬性 - MVC 4
我期待的是: 我想創建4個單選按鈕,它們應該以獨佔的方式工作。
- 顯示所有的SAP業務項目之一
- 只顯示其UDF(U_WebItem = Y)值是」
- 顯示所有從下面選擇的項目組
- 件商品顯示所有的經營項目這些項目合作伙伴目錄 上述4個項目將是我的單選按鈕,只有一個會被選中,其餘全部將取消選擇。
從我的DB的一面,只有所謂的「ItemManagedBy」 W一個場軟管值是固定的(ALL,UDF,ITG & BPC)。根據值應該選擇正確的單選按鈕。
這裏是我的控制器方法:
Models.CRMSettings ReadCRMSettings(Tenant tenant)
{
Models.CRMSettings crmsetting = new Models.CRMSettings();
CRMCommonDataContext db = new CRMCommonDataContext(General.COMMONConnectString);
var v =(from v1 in db.TenantSettings where v1.TenantID.Equals(tenant.TenantID) select v1).First();
crmsetting.SaveCustomerAsInactive = v.SaveCustomerAsInactive.HasValue ? v.SaveCustomerAsInactive.Value : false;
crmsetting.SaveLeadAsInactive = v.SaveLeadAsInactive.HasValue ? v.SaveLeadAsInactive.Value : false;
crmsetting.SettingID = v.SettingID;
crmsetting.TenantID = v.TenantID.Value;
crmsetting.PurchaseItemManagedBy = v.PurchaseItemManagedBy;
crmsetting.SalesItemManagedBy = v.SalesItemManagedBy;
switch(crmsetting.SalesItemManagedBy)
{
case "ALL":
crmsetting.IsSalesItemManagedByAll=true;
break;
case "UDF":
crmsetting.IsSalesItemManagedByUDF = true;
break;
case "ITG":
crmsetting.IsSalesItemManagedByITG= true;
break;
case "BPC":
crmsetting.IsSalesItemManagedByBPC = true;
break;
}
switch (crmsetting.PurchaseItemManagedBy)
{
case "ALL":
crmsetting.IsPurchaseItemManagedByAll = true;
break;
case "UDF":
crmsetting.IsPurchaseItemManagedByUDF = true;
break;
case "ITG":
crmsetting.IsPurchaseItemManagedByITG = true;
break;
case "BPC":
crmsetting.IsPurchaseItemManagedByBPC = true;
break;
}
}
@model saasCRM.Models.CRMSettings
@{
Layout = null;
var htmlAttrib = new Dictionary<string, object>();
htmlAttrib.Add("name", @Model.RadioGroup);
htmlAttrib.Add("binding", "true");
htmlAttrib.Add("datamember", "Response>Data");
}
<table style="width:100%;border:1px solid red">
@{
<tr>
<td>
@Html.RadioButtonFor(model => model.IsSalesItemManagedByAll, Model.IsSalesItemManagedByAll ? "selected" : "", htmlAttrib)
@Html.LabelFor(model => model.IsSalesItemManagedByAll)
</td>
</tr>
}
</table>
Output of this is :
<input name="IsSalesItemManagedByAll" id="IsSalesItemManagedByAll" type="radio" value="selected" datamember="Response>Data" binding="true" data-val-required="The Show All Items from SAP Business One field is required." data-val="true">
<label for="IsSalesItemManagedByAll">Show All Items from SAP Business One</label>
屬性像數據成員和有約束力的是可用的,但爲什麼改名字屬性
對此有任何幫助。
我用錯了嗎?
這裏是我的模型:
public class CRMSettings
{
public string RadioGroup { get; set; }
public int SettingID { get; set; }
public int TenantID { get; set; }
public bool SaveCustomerAsInactive { get; set; }
public bool SaveLeadAsInactive { get; set; }
/// <summary>
/// ALL, UDF,ITG ,BPC
/// </summary>
public string SalesItemManagedBy { get; set; }
/// <summary>
/// ALL, UDF,ITG ,BPC
/// </summary>
public string PurchaseItemManagedBy { get; set; }
public CRMSettings()
{
RadioGroup = "ItemSettings";
}
public IEnumerable<MasterData> ItemGroups { get; set; }
#region "For Radio Button"
[System.ComponentModel.DefaultValue(false)]
[System.ComponentModel.DisplayName("Show All Items from SAP Business One")]
public bool IsSalesItemManagedByAll { get; set; }
[System.ComponentModel.DefaultValue(false)]
[System.ComponentModel.DisplayName("Show only those items whose UDF (U_WebItem=Y) value is Yes")]
public bool IsSalesItemManagedByUDF { get; set; }
[System.ComponentModel.DefaultValue(false)]
[System.ComponentModel.DisplayName("Show All Items from below selected Item Group")]
public bool IsSalesItemManagedByITG { get; set; }
[System.ComponentModel.DefaultValue(false)]
[System.ComponentModel.DisplayName("Show All Items from Business Partner Catalogs")]
public bool IsSalesItemManagedByBPC { get; set; }
[System.ComponentModel.DefaultValue(false)]
public bool IsPurchaseItemManagedByAll { get; set; }
[System.ComponentModel.DefaultValue(false)]
public bool IsPurchaseItemManagedByUDF { get; set; }
[System.ComponentModel.DefaultValue(false)]
public bool IsPurchaseItemManagedByITG { get; set; }
[System.ComponentModel.DefaultValue(false)]
public bool IsPurchaseItemManagedByBPC { get; set; }
#endregion
}
你爲什麼要改變'name'屬性,這意味着模型綁定將會失敗?如果你想綁定到屬性'RadioGroup',然後使用'@ Html.RadioButtonFor(m => m.RadioGroup)' –
並且設置'value'屬性爲''selected'或'null'該物業沒有意義。你究竟想在這裏做什麼? –
在實際情況下,有4個單選按鈕,一次只能選擇其中一個。這就是爲什麼我需要一個名稱屬性,以使其相互交叉。在後端只有一個數據庫字段。取決於值單選按鈕應該選擇 – Manish