これは、医師を評価するためのハイブリッド (Web フォームと MVC) .NET Web サイトです。以下は私のGridViewです。ユーザーはラジオ ボタンをクリックして評価できます。評価は Doctor オブジェクトに保持され、Doctor オブジェクトは現在のユーザーの評価と平均的なユーザーの評価を表示できる必要があります。オブジェクトをセッションに保存するにはどうすればよいですか? ログオンはありません。
<asp:ObjectDataSource ID="ObjectDataSourceDoctor" runat="server" DeleteMethod="Remove" InsertMethod="Add" SelectMethod="GetDoctor" TypeName="MidtermApplication.Models.TestApplicationDoctorRepo" UpdateMethod="Update" DataObjectTypeName="MidtermApplication.Models.Doctor">
</asp:ObjectDataSource>
<asp:GridView ID="GridViewDoctor" runat="server" DataSourceID="ObjectDataSourceDoctor" AutoGenerateColumns="False" OnSelectedIndexChanged="GridViewDoctor_SelectedIndexChanged">
<Columns>
<asp:ImageField DataImageUrlField="DoctorPicture" HeaderText="DoctorPicture">
</asp:ImageField>
<asp:BoundField DataField="DoctorName" HeaderText="DoctorName" SortExpression="DoctorName" />
<asp:BoundField DataField="DoctorSpecialty" HeaderText="DoctorSpecialty" SortExpression="DoctorSpecialty" />
<asp:TemplateField HeaderText="Rate Now">
<ItemTemplate>
<asp:RadioButton ID="RadioButton1" runat="server" GroupName="RateNow" Text="1"></asp:RadioButton>
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="RateNow" Text="2"></asp:RadioButton>
<asp:RadioButton ID="RadioButton3" runat="server" GroupName="RateNow" Text="3"></asp:RadioButton>
<asp:RadioButton ID="RadioButton4" runat="server" GroupName="RateNow" Text="4"></asp:RadioButton>
<asp:RadioButton ID="RadioButton5" runat="server" GroupName="RateNow" Text="5"></asp:RadioButton>
</ItemTemplate>
</asp:TemplateField>
<asp:ButtonField AccessibleHeaderText="Save Rating" HeaderText="Save Rating" Text="Save" ButtonType="Button" />
<asp:CheckBoxField DataField="fave" HeaderText="Favorite" SortExpression="fave" InsertVisible="False" />
</Columns>
</asp:GridView>
コードビハインド:
public partial class Rating : System.Web.UI.Page
{
TestApplicationDoctorRepo repo;
Doctor doctors;
protected List<Doctor> context;
RateableDoctor DoctorRating = new RateableDoctor();
protected void Page_Load(object sender, EventArgs e)
{
TestApplicationDoctorRepo.InitApp(this);
}
protected override void OnLoad(EventArgs e)
{
context = (List<Doctor>)Application["doctors"];
if (context == null)
{
context = new TestDoctorRepository().GetDoctor();
Application.Lock();
Application["doctors"] = context;
Application.UnLock();
}
base.OnLoad(e);
}
protected void SaveRepo()
{
Application.Lock();
Application["doctors"] = context;
Application.UnLock();
}
}
}