0
我在基於會話的登錄登錄基礎上填充gridview時遇到了問題。我正在使用母版頁。目前我得到一個「必須聲明標量變量」。我的想法是在腳本區域的某處找回它。任何幫助是極大的讚賞!!!!基於數據庫信息在基於會話登錄的基礎上填充gridview
現在的問題是代碼應該爲非主頁面檢索基於他們的uname(數據庫中的列)或UID(主鍵和理想方式)的人的具體信息 母版頁代碼至少相關的東西)
protected void btnlogin2_Click(object sender, EventArgs e)
{
if (btnlogin2.Text == "Login")
{
string strCmd = "Select * From Person Where [email protected] and [email protected]";
SqlConnection objConn = new SqlConnection(strConn);
SqlCommand objCmd = new SqlCommand(strCmd, objConn);
objCmd.Parameters.AddWithValue("@uname", txtusername.Text);
objCmd.Parameters.AddWithValue("@upass", txtpassword.Text);
using (objConn)
{
objConn.Open();
SqlDataReader objDR = objCmd.ExecuteReader();
if (objDR.Read())
{
Session["uname"] = txtusername.Text;
if (objDR["Type"].ToString() == "Member")
{ Response.Redirect("member.aspx"); }
else if (objDR["Type"].ToString() == "Pledge")
{ Response.Redirect("member.aspx"); }
else if (objDR["Type"].ToString() == "Admin")
{ Response.Redirect("eboard.aspx"); }
}
else
{
// btnlogin2.Text = "Failed";
}
}
btnlogin2.Text = "Logout";
}
else if (btnlogin2.Text == "Logout")
{
btnlogin2.Text = "Login";
txtusername.Visible = true;
txtpassword.Visible = true;
pnlSideBar.Visible = false;
Session.Abandon();
Response.Redirect("index.aspx");
}
btnlogin2.Text = "Failed";
}
代碼頁
<%@ Page Language="C#" Debug="true" MasterPageFile="masterpage.master" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Web.Configuration" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
string strConn = WebConfigurationManager.ConnectionStrings["cloud2"].ConnectionString;
if (User.Identity.IsAuthenticated)
{
Button btnlogin2 = (Button)Master.FindControl("btnlogin2");
TextBox txtusername = (TextBox)Master.FindControl("txtusername");
TextBox txtpassword = (TextBox)Master.FindControl("txtpassword");
Panel pnlSideBar = (Panel)Master.FindControl("pnlSideBar");
Panel pnlPledge = (Panel)Master.FindControl("pnlPledge");
Panel pnlEboard = (Panel)Master.FindControl("pnlEboard");
string strCmd = "Select * From Person Where [email protected]";
SqlConnection objConn = new SqlConnection(strConn);
SqlCommand objCmd = new SqlCommand(strCmd, objConn);
objCmd.Parameters.AddWithValue("@uname", Session["uname"]);
using (objConn)
{
objConn.Open();
SqlDataReader objDR = objCmd.ExecuteReader();
if (objDR.Read())
{
btnlogin2.Visible = true;
btnlogin2.Text = "Logout";
txtusername.Visible = false;
txtpassword.Visible = false;
if (objDR["Type"].ToString() == "Admin")
{
pnlEboard.Visible = true;
pnlPledge.Visible = false;
pnlSideBar.Visible = false;
}
else if (objDR["Type"].ToString() == "Member")
{
pnlEboard.Visible = false;
pnlPledge.Visible = false;
pnlSideBar.Visible = true;
}
else if (objDR["Type"].ToString() == "Pledge")
{
pnlPledge.Visible = true;
pnlEboard.Visible = false;
pnlSideBar.Visible = false;
}
lblLogin.Text = "Logged in as: " + objDR["Fname"] + " " + objDR["Lname"];
}
}
}
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cphText" runat="server">
<div id="mainContent">
<h1> My Service Hours</h1>
<p> </p>
<table width="318" height="126" border="1" cellspacing="1">
<caption>
Event Event Date Hours
</caption>
<tr>
<th width="100" scope="col">Polar Plunge</th>
<th width="100" scope="col">1/13/12</th>
<th width="100" scope="col">5 hrs</th>
</tr>
</table>
<form id="form3" name="form2" method="post" action="">
<label for="Totalhrs"></label>
Total: 5hrs
</form>
<asp:GridView ID="grvServiceHours" DataSourceID="srcServiceHours" runat="server"/>
<asp:SqlDataSource
id="srcServiceHours"
ConnectionString="<%$ ConnectionStrings:cloud2 %>"
SelectCommand="select Event.Event_Name, Event.Event_Time, Event.Event_Type, Service_Hours.Hours, Service_Hours.Hours_Completed
from Event, Service_Hours, Person
where Event.EvID=Service_Hours.EvID and Person.UID=Service_Hours.UID and [email protected]"
Runat="server" />
<p> </p>
<!-- end #mainContent --></div>
</asp:Content>
對於如何去做這件事你有什麼建議嗎?任何會很棒。謝謝 – SQAHero 2012-04-18 04:03:16
以下鏈接包含您的應用中需要的完整信息。 http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx – 2012-04-18 05:59:50