私のコードでは、.mdb データベース (oleDb) の値を使用してタグを設定したいと考えています。ユーザーが管理者として登録するときに、編集できるようにする部分に contentEditable=true 属性を追加します。完了したら、「保存」ボタンを押すと、コード ビハインドが新しい値をデータベースに更新します。
コードは次のとおりです: (ユーザーが管理者として登録されている場合、Admin.LogIn(,); も true を返します)
<%@ Page Title="" Language="C#" MasterPageFile="~/BenOptic.master" AutoEventWireup="true" CodeFile="ben_info.aspx.cs" Inherits="ben_info" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<h1 align="center" id="ben_info_header" runat="server">
</h1>
<h3 align="center" id="ben_info_subheader" runat="server">
</h3>
<p id="ben_info_main_text" runat="server">
</p>
<form id="Form1" action='' method='post' runat='server'><asp:Button id='SaveChanges' Text='שמור' OnClick='saveChanges_Click' runat='server' /></form>
</asp:Content>
および背後にあるコード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class ben_info : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SaveChanges.Visible = false;
DAL data = new DAL();
if (Request.Form["submit"] != null)
{
if (Admin.LogIn(Request.Form["adm_username"], Request.Form["adm_pass"]))
{
ben_info_header.Attributes.Add("contenteditable", Session["isAdmin"].ToString());
ben_info_main_text.Attributes.Add("contenteditable", Session["isAdmin"].ToString());
ben_info_subheader.Attributes.Add("contenteditable", Session["isAdmin"].ToString());
SaveChanges.Visible = true;
SaveChanges.OnClientClick += new EventHandler(saveChanges_Click);
}
}
DataTable config = data.Select("Select * from Config where setting like 'ben_info%'");
foreach (DataRow setting in config.Rows)
{
switch (setting["setting"].ToString())
{
case "ben_info_header": ben_info_header.InnerText = setting["val"].ToString(); break;
case "ben_info_subheader": ben_info_subheader.InnerText = setting["val"].ToString(); break;
case "ben_info_main_text": ben_info_main_text.InnerText = setting["val"].ToString(); break;
}
}
}
public void saveChanges_Click(object sender, EventArgs e)
{
DAL data = new DAL();
data.Execute("update Config set val = '" + ben_info_header.InnerText + "' where setting = 'ben_info_header'");
data.Execute("update Config set val = '" + ben_info_subheader.InnerText + "' where setting = 'ben_info_subheader'");
data.Execute("update Config set val = '" + ben_info_main_text.InnerText + "' where setting = 'ben_info_main_text'");
SaveChanges.Visible = false;
}
}