【发布时间】:2012-04-25 12:54:47
【问题描述】:
我正在 mvc3 中开发一个应用程序。
我有两个下拉列表,并根据在第一个下拉列表中选择的值填充第二个下拉列表。
第一个下拉菜单是课程,根据选择的课程,第二个下拉菜单会填充课程可用的状态。
例如,如果课程是“MCA”,则州应该是马哈拉施特拉邦、拉贾斯坦邦等。
为此,我编写了一个运行良好的 ajax 函数。
但问题是我无法一次获取多个状态,即我一次只能获取一个状态。
我编写了以下代码来获取状态名称:
HobbyHomeAdress 表包含我通过其他方法获取的ProvincialStateID。 然后我将该值与ProvincialState 表中ProvincialStateID 中的值进行比较,并获取该表的数据,但它只给了我最后一条记录。
public ICollection<ProvincialState> FetchStateByStateid(ICollection<HobbyHomeAddress> hobbyhomeaddresslist)
{
log.Debug("Start");
ISession session = DataAccessLayerHelper.OpenWriterSession();
ITransaction transaction = session.BeginTransaction();
ICollection<ProvincialState> provincialstate = null;
try
{
foreach (var state in hobbyhomeaddresslist)
{
provincialstate = session.CreateCriteria(typeof(ProvincialState))
.Add(Expression.Eq("ProvincialStateID", state.ProvincialState.ProvincialStateID))
.List<ProvincialState>();
}
transaction.Commit();
}
catch (SessionException ex)
{
if (transaction != null && transaction.IsActive)
transaction.Rollback();
log.Error(ex);
provincialstate = null;
}
finally
{
if (transaction != null)
transaction.Dispose();
if (session != null && session.IsConnected)
session.Close();
log.Debug("End");
}
return provincialstate;
}
【问题讨论】:
标签: asp.net-mvc-3 model-view-controller nhibernate drop-down-menu