2014-07-08 2 views
1

내 변수를 다음 페이지로 전달할 수 없습니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? 세션 변수 asp.net을 사용하는 방법 C#

var finalValue = value * sqlCouponValue; 
finalValue = Math.Round(finalValue, 2); 
Session["discountedOrderTotal"] = finalValue.ToString(); 

는 어디에서 다음 페이지에 다시 전화를 시도하고있다 :

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

사람이 어떤 아이디어가 있습니까? 전에 세션 변수를 사용 해본 적이 없으며 왜 단지 $을 반환하는지 확신 할 수 없습니다. 어떤 도움이라도 대단히 감사 할 것입니다. 감사!

+1

이를 호출 할 때 그래서이 시도? 오류가 있습니까? 아마도 "$"+ (string) Session [ "discountOrderTotal"]' – canon

+0

과 같은 캐스트가 필요할 것입니다. [facade] (http://www.codeproject.com/Articles/16656/Manage-ASP-NET-Session-Variables-using-the-Facad) 세션 상태 관리를 사용하여이 문제와 다른 문제를 피할 수 있습니다. –

답변

9

다른 이름이 있습니다. discountedOrderTotal는 discountOrderTotal

+1

와우 .... 나는 그것을 놓쳤다 고 생각합니다. – scapegoat17

+2

우리 중 가장 좋은 일이 발생합니다 – Dom

+0

우리 중 가장 좋은 것은 상수가 아닌 마술 문자열을 사용합니다 : P – dumdum

2

대이 사용할 수 있습니다 ..

//Set value 
Session["StockPicks"]="Bangladesh"; 

// Extracting value 
var stockPicks=Session["StockPicks"]; 
//remove session 
Session.RemoveAll(); 
0

당신이 조심해야 할 첫 번째 일이 세션의 이름입니다. 그것은 동일해야하며 세션을 검색 할 때 객체를 반환하기 때문에 유형을 지정해야합니다. 당신이 잘못 무슨 일이야 다음 페이지

e.Row.Cells[4].Text = "$" + Session["discountedOrderTotal"].ToString(); 
0
<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> 
0
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"); 
    } 
} 
0
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"); 



    } 
} 
관련 문제