我正在创建一个页面。
我使用EF为我的表创建类。
表模式如下:
AssetCategory has N TO M relationship with the other two tables
在我的aspx页面中,我添加了一个下拉框,并使用EF填充AssetCAtegaories的下拉列表,并填写Field Name中的所有项目。
我添加了一个网格视图,并将其绑定到显示Jcode的AssetCategoryCodes。
现在我需要在两个项目之间建立连接。
表示根据用户从下拉列表中选择显示网格视图中的项目。
已编辑
MobileAssetCategoryID is Fk in AssetCategoyCodes
MobileAssetCategoryID is FK in DowntimeReasonCodes
for Instance in AssetCategories
if ListItemID =1 and name = Honda
if ListItemID =2 and name = Toyota
than AsstCategoryCodes has
MobileAssetCategory Id=1 , jCode =Accord
MobileAssetCategory Id=1 , jCode =Civic
MobileAssetCategory Id=2 , jCode =Camry
MobileAssetCategory Id=2 , jCode =corolla
所以我的问题是当用户在下拉列表中选择本田时?
我只想展示本田车而不是一切。
我该怎么做?
答案 0 :(得分:0)
解决!它...这是我的main.aspx.cs中的代码
namespace Test
{
public partial class WebForm1 : System.Web.UI.Page
{
EntitiesName DbEntity = new EntitiesName();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var name = from c in DbEntity.MobileAssetCategories select new { c.ListItemId, c.Name };
MainCodes.DataSource= name.ToList();
MainCodes.DataValueField = "ListItemId";
MainCodes.DataTextField= "Name";
MainCodes.DataBind();
MainCodes.Items.Insert(0,"--Select--");
}
}
protected void MainCodes_SelectedIndexChanged(object sender, EventArgs e)
{
int JCodeId = Convert.ToInt32(MainCodes.SelectedValue.ToString());
var JCode = from c in DbEntity.MobileAssetCategoryCodes where c.MobileAssetCategoryId.Equals(JCodeId) select new { c.JdeCode };
JCodeDisplay.DataSource = JCode.ToList();
JCodeDisplay.DataBind();
int reasonCode = JCodeId;
var RCode = from a in DbEntity.MobileAssetDowntimeReasonCodes where a.MobileAssetCategoryId.Equals(reasonCode) select new { a.JdeReasonCode };
ReasonCode.DataSource = RCode.ToList();
ReasonCode.DataBind();
}
protected void JCodeDisplay_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void ReasonCode_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}