以下を使用して、ストアド プロシージャに渡され、次にデータベースに渡される変数に現在のユーザー名を格納しています。これは、ボタンのクリックで開始されます。
string UserName = Page.User.Identity.Name.ToString();
変数は次のコマンドで送信されます。
cmd.Parameters.AddWithValue("@UserName", UserName);
Web Developer 2008 Express で Web フォームを作成しました。Web Developer でブラウザーを表示すると、目的の結果が得られます。Mac で実行しているネイティブ ブラウザ (Firefox) から Web ページを実行すると、何も表示されません。Web 開発者は、Windows 2008 Server インストールで実行されています。Mac では別のことをする必要がありますか? Windows ではなく Mac を使用するユーザーの大多数がいるでしょう。
aspx.cs のコードは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void MasterData_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection("server=(local);database=InvoiceSHC;Trusted_Connection=Yes"))
{
// Get the UserId of the logged in user
string UserName = HttpContext.Current.User.Identity.Name.ToString();
string Timestamp = DateTime.Now.ToString();
//Not sure why you need a SqlDataAdapter unused here.
//SqlDataAdapter DA = new SqlDataAdapter("UpdateSHCInvoice", con);
SqlCommand cmd = new SqlCommand("UpdateSHCInvoice", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Ref", dlRef.SelectedItem.Value);
cmd.Parameters.AddWithValue("@PhaseName", dlPhase.SelectedItem.Value);
cmd.Parameters.AddWithValue("@PageType", dlPageType.SelectedItem.Value);
cmd.Parameters.AddWithValue("@Page", tbPage.Text);
cmd.Parameters.AddWithValue("@Percent", dlPercent.SelectedItem.Value);
cmd.Parameters.AddWithValue("@ChngType", dlChngType.SelectedItem.Value);
cmd.Parameters.AddWithValue("@UserName", UserName);
cmd.Parameters.AddWithValue("@Timestamp",Timestamp);
con.Open();
cmd.ExecuteNonQuery();
GridView1.DataBind();
}
}
}
}