mvc3 でアプリケーションを開発しています。
2 つのドロップダウンがあり、最初のドロップダウンで選択された値に基づいて、2 番目のドロップダウンが入力されます。最初のドロップダウンはコースで、選択されたコースに基づいて、2 番目のドロップダウンはコースが利用可能な州を入力します。
たとえば、コースが「MCA」の場合、州はマハラシュトラ州、ラジャスタン州などになります。このために、正常に動作する ajax 関数を作成しました。しかし問題は、一度に複数の状態をフェッチできないことです。つまり、一度に 1 つの状態しかフェッチできません。
州名を取得するために次のコードを作成しました。
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;
}