By using viewstate it is not possible.sure it is not
possible.bcoz its comes under the pagelevel state manage
ment.to maintaning the state in page it self we are using
the view state.
View state is page level Access state managemenet
so viewstate object is available only after page_init() and
before page_load().
so we cannot pass it from one page to other page as a part
of request or any more......
Yes.
View state is page specific; it contains information about
controls embedded on theparticular page. ASP.NET 2.0
resolves this by embedding a hidden input field
name,__POSTBACK . This field is embedded only when there is
an IButtonControl on thepage and its PostBackUrl property is
set to a non-null value. This field contains the viewstate
information of the poster page. To access the view state of
the poster page, you canuse the new PreviousPage property of
the page
Page poster = this.PreviousPage;
Then you can find any control from the previous page and
read its state
Label posterLabel =(Label)poster.findControl("myLabel");
string lbl = posterLabel.Text;
This cross-page post back feature also solves the problem of
posting a Form to multiplepages, because each control, in
theory, can point to different post back URL.
i feel it's possible to pass values from one page to
another using view state
Just try this :
Hold the values in viewstate which you want to transfer to
another page , in the next page where you want to pass the
values ,
In page_load
Access the values hold in view state
Just try this once :
viewstate values stored in present page...once use
server.transfer the view state values was out....so not
possible to transfer data from one page to another page...
Yes. We can transfer data one page two an other page
through View state.
Server.Transfer("secondpage.aspx view=textbox");
View state is page specific; it contains information about
controls embedded on theparticular page. resolves this by
embedding a hidden input field
" KULDEEP KHAWARE "
Its right we cannot transfer the value from one page to
another using viewstate. Viewstate has the limit only on
one page. For transferring values we can use session or
querystring and interesting for more value transfer store
the values in datatable and store the table in a session.
This is VERY MUCH POSSIBLE to access viewstate on another
page. This is only possible when you use SERVER.TRANSFER
Try this out.
Create a textbox control on page1.aspx and have a button.
Onclick of button put this code in page load event of
Page2.aspx.
/*****************************************************/
Page Poster = this.PreviousPage;
TextBox txtNewTest = (TextBox)Poster.FindControl("txtTest");
sDisplay = txtNewTest.Text;
Response.Write(sDisplay);
/*****************************************************/
//*http://www.codeproject.com/KB/aspnet/TransferingValues.aspx*//
in this link they have used Response.redirect("abcd.aspx").
but by using Server.transfer("abcd.aspx")the case is
different.no page postpack is happening there..so i think by
using Server.transfer (not by Response.redirect)view state
data can be transfered acros the pages.
Yes, you can get the PreviousPage ViewSate.
I have created two pages (Default.aspx and LandingPage.aspx)
Default.aspx has a LinkButton with a PostBackUrl pointing
to LandingPage.aspx.
Code Behind for Default.aspx:
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e
As System.EventArgs) Handles Me.Load
ViewState("MyValue") = "I am a test value"
End Sub
Public Function GetViewState() As System.Web.UI.StateBag
Return ViewState
End Function
End Class
Code Behind for LandingPage.aspx:
Partial Class LandingPage
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e
As System.EventArgs) Handles Me.Load
If PreviousPageViewState IsNot Nothing Then
If PreviousPageViewState("MyValue") IsNot
Nothing Then
'Value is retrieved from the PreviousPage
ViewState
MyBase.Controls.Add(New LiteralControl
(PreviousPageViewState("MyValue")))
End If
End If
End Sub
Private ReadOnly Property PreviousPageViewState() As
StateBag
Get
Dim ReturnValue As System.Web.UI.StateBag =
Nothing
If PreviousPage IsNot Nothing Then
Dim MyTypeObj As Object = DirectCast
(PreviousPage, Object)
For Each MethodObj As Reflection.MethodInfo
In PreviousPage.GetType.GetMethods()
If MethodObj.Name = "GetViewState" Then
ReturnValue = MethodObj.Invoke
(MyTypeObj, Nothing)
Exit For
End If
Next
End If
Return ReturnValue
End Get
End Property
End Class
Yes, We can transfer one page data to another page using
viewstate,
The Way :-
The whole page data is stored in viewstate when you do a
page submit, at this point if you do server.transfer to
another page, it is like a postback on same page, you can
access both page data in view state.
To access the previous page data you have to use
System.Web.UI.Page prevPage = this.PreviousPage;
now all your controls are available with the same state they
were posted.
yes we can do it by cross page posting (cross page
viewstate)
here is the code:
Source page code:
----------------
public partial class ViewStateContainer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ViewState["Page1"] = "Page1 ViewState";
Server.Transfer("AccessViewState.aspx");
}
/*StateBag class: This class is the primary storage
mechanism for all HTML and Web server controls.
It stores attribute/value pairs as strings associated
with the control. It tracks changes to these
attributes only after the OnInit method is executed for
a page request, and saves the changes
to the page's or control's viewstate.*/
public StateBag ReturnViewState()
{
return ViewState;
}
}
Target page code:
----------------
public partial class AccessViewState : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
if (PreviousPageViewState != null)
{
Label1.Text = PreviousPageViewState
["Page1"].ToString();
}
}
Response.Write(((Label)PreviousPage.FindControl
("Label1")).Text);
}
private StateBag PreviousPageViewState
{
get
{
StateBag returnValue = null;
if (PreviousPage != null)
{
Object objPreviousPage = (Object)
PreviousPage;
MethodInfo objMethod =
objPreviousPage.GetType().GetMethod
("ReturnViewState");
return (StateBag)objMethod.Invoke
(objPreviousPage, null);
}
return returnValue;
}
}
}
What is the Web.config file used for?
a) To store the global information and variable definition
for the application.
b) Configures the time that the server-side codebehind
module is called
c) To Configure the Web Server.
d) To Configure the Web browser.
After building the custom control, you test it by adding an
ASP.Net web application to the solution. You add a correct
<%@ Register %> directive and a proper declaration of the
control in the <asp:Form> tag to the Web Form, but when you
execute the application you get an error. What is the most
likely reason for the problem?
a) The custom control must be compiled first.
b) The web application must have a reference to the control
c) The custom control must be registered with windows first.
d) The assembly from the custom control is not in the
application?s bin directory.