Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用会话变量asp.net c#_C#_Asp.net_Session Variables - Fatal编程技术网

如何使用会话变量asp.net c#

如何使用会话变量asp.net c#,c#,asp.net,session-variables,C#,Asp.net,Session Variables,我似乎无法将变量传递到下一页。谁能告诉我我做错了什么 var finalValue = value * sqlCouponValue; finalValue = Math.Round(finalValue, 2); Session["discountedOrderTotal"] = finalValue.ToString(); 我将在下一页再次尝试调用它: e.Row.Cells[4].Text = "$" + Session["discountOrderTotal"]; 有人有什么想法吗?

我似乎无法将变量传递到下一页。谁能告诉我我做错了什么

var finalValue = value * sqlCouponValue;
finalValue = Math.Round(finalValue, 2);
Session["discountedOrderTotal"] = finalValue.ToString();
我将在下一页再次尝试调用它:

e.Row.Cells[4].Text = "$" + Session["discountOrderTotal"];

有人有什么想法吗?我以前从未使用过会话变量,也不知道为什么它只是返回一个
$
。任何帮助都将不胜感激。谢谢

你有不同的名字。DescentedOrderTotal vs DescentOrderTotal

首先要注意的是会话的名称。它应该是相同的,当您检索会话时,您需要指定类型,因为它返回一个对象。所以,当你把这个调到下一页时,试试这个

e.Row.Cells[4].Text = "$" + Session["discountedOrderTotal"].ToString();

传输请求ID
员工姓名
公共部分类视图:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
List List2=新列表();
TransferDAL obj1=新的TransferDAL();
List2=obj1.view();
Gridview1.DataSource=List2;
Gridview1.DataBind();
}
}
受保护的void Gridview1\u SelectedIndexChanged(对象发送方,事件参数e)
{
GridViewRow SelectedRow=Gridview1.SelectedRow;
标签id1=(标签)选择了drow.FindControl(“Label1”)作为标签;
intID2=Convert.ToInt32(id1.Text);
Label id3=(Label)选择了drow.FindControl(“Label3”)作为标签;
字符串id4=Convert.ToString(id3.Text);
会话[“id”]=id2;
会话[“名称”]=id4;
回复。重定向(“Approve.aspx”);
}
}

出了什么问题?有错误吗?也许您需要强制转换,例如:
“$”+(字符串)会话[“discountOrderTotal”]
您可能想看看如何使用,以帮助避免会话状态管理中的此问题和其他问题发生在最好的usi中我更喜欢将类对象持久化为会话变量,这样我就可以利用强类型属性,有时只需要额外的一组眼睛。确保你有规律地休息,即使每15-20分钟左右只需要5分钟来重新聚焦你的眼睛。
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:Table ID="Table1" runat="server">
        <asp:TableRow>
            <asp:TableCell>Transfer Request ID</asp:TableCell>
                           <asp:TableCell>  <asp:Label ID="Label1" runat="server" Text='<%# Eval("TransferRequestId") %>'></asp:Label></asp:TableCell>
                           <asp:TableCell></asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
             <asp:TableCell>Employee Name</asp:TableCell>
                           <asp:TableCell>  <asp:Label ID="Label3" runat="server" Text='<%# Eval("EmployeeName") %>'></asp:Label></asp:TableCell>
                           <asp:TableCell></asp:TableCell>
        </asp:TableRow>

        <asp:TableRow>
            <asp:TableCell><asp:Button ID="Button1" runat="server" Value="APPROVE" Text="Approve" OnClick="Button1_Click"></asp:Button></asp:TableCell>

            <asp:TableCell><asp:Button ID="Button2" runat="server" value="REJECT" Text="Reject" Onclick="Button2_Click"></asp:Button></asp:TableCell>
        </asp:TableRow>
    </asp:Table>

</asp:Content>
public partial class Approve : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = Convert.ToString(Session["id"]);
        Label3.Text = Convert.ToString(Session["name"]);
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        int id1=Convert.ToInt32(Session["id"]);
        TransferDAL dalob = new TransferDAL();
        int x = dalob.updateapprove(id1);

        Response.Redirect("View.aspx");
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        int id1 = Convert.ToInt32(Session["id"]);
        TransferDAL dalob = new TransferDAL();
        int r = dalob.updatereject(id1);
        Response.Redirect("View.aspx");
    }
}
public partial class View : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
            List<TransferBO> List2 = new List<TransferBO>();
            TransferDAL obj1 = new TransferDAL();
            List2 = obj1.view();
            Gridview1.DataSource = List2;
            Gridview1.DataBind();



        }

    }

    protected void Gridview1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow SelectedRow = Gridview1.SelectedRow;
        Label id1 = (Label)SelectedRow.FindControl("Label1") as Label;
        int id2 = Convert.ToInt32(id1.Text);
        Label id3 = (Label)SelectedRow.FindControl("Label3") as Label;
        string id4 = Convert.ToString(id3.Text);
        Session["id"] = id2;
        Session["name"] = id4;
        Response.Redirect("Approve.aspx");



    }
}