|
I am debugging an issue on my code caused by KB2894843. I know that MS has made EnableviewstateMAC = true in this KB update. The below piece of code is working fine in redirecting from page 1 to page 2 on click of submit except in the page 2 after redirecting from page 1, post back value is true. It is treating the page 2 as post back but ideally it should be true. I am not sure why it is treat it as post back. Appreciate any help on this.
Page 1 :
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Page1.aspx.vb" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
function f() {
document.form1.action = "Page2.aspx";
document.form1.submit();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Submit1" type="submit" value="Click" onclick="f()" runat="server" />
</div>
</form>
</body>
</html>
Page 2 :
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Page2.aspx.vb" Inherits="WebApplication1.Page2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
Krish
|
|
|
|
|
It's treated as a PostBack because you're posting a form to it which contains a field called __VIEWSTATE .
There are basically three ways to do what you want:
- Remove the
runat="server" from the <form> and <input> tags in page 1. You will no longer be able to access the controls from the code-behind.
<form>
<div>
<input type="submit" value="Click" onclick="f()" />
</div>
</form> - Replace the
<input> tag with an <asp:Button> tag, and set the PostBackUrl to "Page2.aspx" .
<form id="form1" runat="server">
<div>
<asp:Button id="Submit1" runat="server" Text="Click" PostBackUrl="Page2.aspx" />
</div>
</form> - Since you're not passing anything in the request, change your script function to make a
GET request without using the form. You'll need to add return false; to the onclick attribute to stop the form from submitting.
<script type="text/javascript">
function f() {
location.assign("Page2.aspx");
}
</script>
<form id="form1" runat="server">
<div>
<input id="Submit1" type="submit" value="Click" onclick="f();return false;" runat="server" />
</div>
</form>
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks Richard. The same piece of code was working fine before the patch. It was returing it as "False" for post back in Page 2. I am just trying to understand what made this patch to broke the code which was working fine.
|
|
|
|
|
|
hi viewers,
i want idea of .net coding for textile design cad software fabric simulation output.
plz help us how to use coding to get fabric like check stripe patterns)output.
if its possible plz share with me source code with samll example
rgds
|
|
|
|
|
Dear all,
I am experiencing the following issue -- Invalid initializer member declarator -- error, on the following line of code.
return new ClaimRole() { query.uUsername = user.Username, query.uPassword == user.Password, user.role = "Trial" };
public UserDetail trial(string username, string password)
{
ClaimRole user = new ClaimRole();
var query = (from s in db.Subscriptions
join u in db.UserDetails on s.sUID equals u.uID
where s.sExpiryDate >= DateTime.Now &&
s.sPID.Value == 163 &&
u.uUsername == username &&
u.uPassword == password
select u).FirstOrDefault();
if (query != null)
{
return new ClaimRole() { query.uUsername = user.Username, query.uPassword == user.Password, user.role = "Trial" };
}
else
{
return null;
}
}
public class ClaimRole
{
public string Username { get; set; }
public string Password { get; set; }
public string role { get; set; }
}
User Detail is data model class from EF database.
My desired output, is to assign role property to the query.
Please advise. Many thanks.
|
|
|
|
|
Your object initializer syntax is messed up. Try:
return new ClaimRole { Username = query.uUsername, Password = query.uPassword, role = query.role };
Object and Collection Initializers (C# Programming Guide)[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Many thanks for your reply and help. That worked. Apology for incorrect object's syntax.
Have a great evening.
|
|
|
|
|
How to display product name, id, pic and a button to add the product in cart ,like a online shopping website in asp.net with vb.net..
please help me out..
makansingh
|
|
|
|
|
|
|
Hello friends.
I built a class (that contains private data)with his own properties and variables.
It contains int , strings , hashtable,datatables or other object built by myself.
The question is ... How can i save class data between posts.
Using session ? mh
Using me.cache (where me is a usercontrol) ? ... it is impossible.
Or serializing my class putting it in the viewstate ?
What is the better way to save a class in a usercontrol or page ?
Thank you very much.
Regards.
|
|
|
|
|
The session should work fine. If it is too complex you may have issues with it serializing but it sounds like you may want to rethink your design and see if you can simplify it some.
Hashtables and datatables likely should go in application cache but that is only if it is not user specific. I guess the answer depends on your specific scenario.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
thank you for your answer.
But the problem is inside a specific ascx user control cycle of life.
Example
ascx :
dim C as MoneyClass 'inside it there are dataset,or other heavy objects'
Protected Overloads Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
C=new MoneyClass
viewstate("C")=C
Else
C=viewstate("c")
End If
in this case what is better to use ?
1)viewstate (i need to serialize MoneyClass) or 2) session ( i need to manage saved object inside session)
i don't want that MoneyClass should be used for all the time that the session is active.
i would use viewstate ,it would be perfect for my scenario ...but i don't know if it is good to serialize big objects(custom classes)
thank you
|
|
|
|
|
Quote: in this case what is better to use ? We can't really answer that and here's why. Viewstate is going to get encrypted and sent to the client so the more you put into it the more processing time, although minimal, will be increased and the size of your page sent to the client will be greater.
On the other hand, if you put it into the Session then you are at the mercy of your server's operating system and how much RAM it has, assuming you are using the default session option InProc or are using ASP.Net state server.
It's a trade off between where you want the hit to be. On the client side in the size of the page or in memory on your server. If you do not have many users then Session probably is better. Or, if it gets cleared out of session often then session could be good.
It all depends. Personally, I lean towards session because messing with viewstate sometimes causes issues.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
you're very kind ! Thank you so much. ! i will use session , and i will try to clean memory more than i can.
|
|
|
|
|
You're welcome. Good luck.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Receiving data auto in asp page
|
|
|
|
|
|
how to receive data in asp page when data sent from android app
|
|
|
|
|
Hi All,
I am using bulkCopy to copy data excel/oracle/sqlserver data to Sqlserver. It is working fine.
Please suggest how to use the bulkCopy operation for Oracle db. i.e. to move bulk data to oracle.
I am using Oralce 10 G version and dot net 3.5/4 versions.
Regards,
Hari Kishan Reddy B.
|
|
|
|
|
This is an oracle question and not an ASP.Net question. You should post to a more appropriate forum so someone can help. Or, just search google for oracle bulk copy.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
As a part of my project, I am trying to plot Multiple series on Chart Control. But I am finding only One type of series.
<pre lang="c#">
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sqlquery = "select " + dd_axisX.SelectedValue.ToString() + ", " + dd_axisY.SelectedValue.ToString() + " from retrospect where locid=" +ds.Tables[0].Rows[i]["locid"] .ToString();
System.Data.DataSet ds_ValuesToPlot = new System.Data.DataSet();
da = new MySqlDataAdapter(sqlquery, con);
da.Fill(ds_ValuesToPlot, "ValuesToPlot");
chrt_ScatterPlot.DataSource = ds_ValuesToPlot;
chrt_ScatterPlot.Series.Add(ds.Tables[0].Rows[i]["locname"].ToString());
//chrt_ScatterPlot.ChartAreas.Add(ds.Tables[0].Rows[i]["locname"].ToString());
chrt_ScatterPlot.Series[ds.Tables[0].Rows[i]["locname"].ToString()].ChartArea = "ChartArea1";
chrt_ScatterPlot.Series[ds.Tables[0].Rows[i]["locname"].ToString()].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Point;
chrt_ScatterPlot.Series[ds.Tables[0].Rows[i]["locname"].ToString()].XValueMember = dd_axisX.SelectedValue;
chrt_ScatterPlot.Series[ds.Tables[0].Rows[i]["locname"].ToString()].YValueMembers = dd_axisY.SelectedValue;
System.Web.UI.DataVisualization.Charting.Legend lgd = new System.Web.UI.DataVisualization.Charting.Legend(ds.Tables[0].Rows[i]["locname"].ToString());
chrt_ScatterPlot.Legends.Add(lgd);
chrt_ScatterPlot.DataBind();
chrt_ScatterPlot.ChartAreas[0].Axes[0].Title = "AxisX";//dd_axisX.SelectedValue.ToString();
chrt_ScatterPlot.ChartAreas[0].Axes[1].Title = "AxisY";//dd_axisY.SelectedValue.ToString();
//chrt_ScatterPlot.DataManipulator.FinancialFormula(System.Web.UI.DataVisualization.Charting.FinancialFormula.Forecasting, "Exponential,3,false,false", chrt_ScatterPlot.Series[0].Name.ToString(), chrt_ScatterPlot.Series[1].Name.ToString());
}
</pre>
|
|
|
|
|
It's hard to read this but I don't see you adding another series. What is your question?
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
There is a line in the code for adding a series.
chrt_ScatterPlot.Series.Add(ds.Tables[0].Rows[i]["locname"].ToString());
The for loop loops to add some number of series.
But Finally I can View only one series. I am no able to attach an image here to show you the final plot on chart control.
|
|
|
|