我正在 mvc3 中开发一个应用程序。
我有两个下拉列表,并根据在第一个下拉列表中选择的值填充第二个下拉列表。第一个下拉菜单是课程,根据选择的课程,第二个下拉菜单会填充课程可用的状态。
例如,如果课程是“MCA”,则州应该是马哈拉施特拉邦、拉贾斯坦邦等。为此,我编写了一个运行良好的 ajax 函数。但问题是我无法一次获取多个状态,即我一次只能获取一个状态。
我编写了以下代码来获取状态名称:
HobbyHomeAdress 表包含我通过其他方法获取的ProvincialStateID。然后我将该值与ProvincialStateID 中ProvincialState 表中的值进行比较并获取该表的数据,但它只给了我最后一条记录。
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;
}