|
Instead of
ClientScript.RegisterClientScript() use ScriptManager.RegisterStartupScript() when the call is inside UpdatePanel .
|
|
|
|
|
Hi all
I found a problem when I use repeater control.I use a Image button and store image id in Tool Tip of Image button but i unable to get the tool tip value in a another text box which is outside of repeater on my form.
for more details- I use modelpopup ajax control inside it i take update Panel in updatepanel i use repeater and in repeater i take ImageButton.
Any help would be appreciateable
I know its a bit hectic but developer is a person who overcomes it.
|
|
|
|
|
First of all,
You might have used ItemDataBound to set the value of TextBox. Also to remind, if you are using a Repeater, and the imagebutton is inside the ItemTemplate, you are having more than one ImageButton while there will be only on textbox which is placed outside the textbox.
If you want the text to appear whenever you click on the ImageButton, there is also a problem. You said, you have placed the Repeater inside an undatepanel while the textbox is outside it. In case of UpdatePanel, a separate form is created in the client and posted to the server as request with only those controls which are inside the UpdatePanel. Thus in server side, if you set the value of the Textbox, it will not be transferred to the client and therefore will not update the control in the client.
So Rather than updating the server side object, you can either place the textbox inside the update panel or you inject some javascript which will update the value of the textbox upon receiving the response to the client.
I am talking about
ScriptManager1.RegisterStartupScript()
I hope you got the idea.
Cheers.
|
|
|
|
|
Hi
I am using gridview in one page and wanted to do some calculation, for this i wanted to pass textbox values to javascript, kindly help me if anyone knows how to pass gridview textbox value to java script.
Thanks in advance
|
|
|
|
|
You can access the grid view's text boxes from javascript by using the controls client id. it will generally be in the patter gridid$controlid$slno. You can get this by viewing the client HTML source on the browser.
|
|
|
|
|
is it possible for you to show in example??
|
|
|
|
|
I don't have access to VS 2005 or greater at work so here is a sample with VS 2003/ASP.NET 1.x -
For this datagrid
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 208px; POSITION: absolute; TOP: 160px"
runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="sd" FooterText="as">
<ItemTemplate>
<asp:TextBox ID="abc" Runat="server" Text="asd"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
and this code
DataTable asd = new DataTable("asd");
asd.Columns.Add("asd");
DataRow dr = asd.NewRow();
DataRow dr1 = asd.NewRow();
dr[0]=asd;
dr1[0]=asd;
asd.Rows.Add(dr);
asd.Rows.Add(dr1);
DataGrid1.DataSource= asd;
DataGrid1.DataBind();
the client ids for the 2 text boxes generated would be DataGrid1__ctl2_abc and DataGrid1__ctl3_abc
You can use this id in the getElementById method in javascript to access the data.
NOTE - Client id generated in higher version of ASP.NET will be similar but not exactly the same.
|
|
|
|
|
I have made a web form in which I have taken the following components:
two labels: lbHeading and lbDescription
two textBoxes: txtHeading and txtDesc
two buttons: btnAddArticle and btnCancel
one GridView: GridView1
When I'm adding some article, it is saved in the table "tbArticle" and show both the contents(i.e. heading and article description) in the grid view using SQlDataAdapter.
But when I refresh the page, it's adding the article twice in the table and then showing twice... When again I refresh the page, it again adds the entry even without clicking the "add button"...
what could be the error ?
plz try to fix it
One thing I want to tell you is that adding the entry of articles is done in the "add" button click event.
|
|
|
|
|
When you press refresh, the browser posts the last action to the server again, in this case, the last action u did was the add button click. Hence the server exec the add button click event which posts another copy to the database. This is default browser behavior.
To prevent this you can do either of the following -
* Place a refresh button and on the click event refresh the datagrid only.
OR
* After the Add click event is completed, register an client script to refresh the url, which would reset the last action. Use the window.location.href to set the url to the same page.
HTH
|
|
|
|
|
I have set the code-behind method ..So, I can't use window.location.href.or any client scripting of .cs
could u tell me how to use the first method i.e. placing the refresh button and so on...
|
|
|
|
|
|
Its not that you cannot do it. All that you need to do is at the end of the event add a line, depending on the version of ASP.NET you are using.
Page.RegisterStartupScript("New Window", "<script language=JavaScript>window.location.href='your url';</script>");
or
ClientScript.RegisterStartupScript(..., "<script language=JavaScript>window.location.href='your url';</script>")
I don't exactly remember the syntax for ClientScript object.
Now, to do the first method -
Put a button near the grid and on the server click event call the method to load the datasource and bind it to the datagrid.
Drawbacks of this approach -
* The re-submit would happen if the user hits the browser's refresh button right after clicking the add button.
|
|
|
|
|
Hi all,
My gridview was populated by some records and i have provided page size of 10. When i do the paging the it reload the whole page but i want it show load only that specific portion of the page instead of loading whole page. how can i do that? Can i do this using Ajax?
Thanks
People Laugh on me Because i am Different but i Laugh on them
Because they all are same.
|
|
|
|
|
rahul.net11 wrote: Can i do this using Ajax?
Yes, use UpdatePanel[^].
I Love T-SQL
"Don't torture yourself,let the life to do it for you."
If my post helps you kindly save my time by voting my post.
www.aktualiteti.com
|
|
|
|
|
Hi,
I have done this using update panel. It will not postback the page, but i want to reload a specific portion of the page then how can i do this?
I read a article some where that we can reload specific portion of the page using AJAX.
Thanks
Rahul
People Laugh on me Because i am Different but i Laugh on them
Because they all are same.
|
|
|
|
|
If your gridview is inside UpdatePanel then it should load only gridview and not all page.
I Love T-SQL
"Don't torture yourself,let the life to do it for you."
If my post helps you kindly save my time by voting my post.
www.aktualiteti.com
|
|
|
|
|
I have made login page...
And i'm taking the values from the 'tbLogin' table.
there are, for instance 5 entries in the table ...And i'm entering three entries out of 5...they are working fine but when I try to enter other two entries ....login form doesn't pick'em ..what could be the error ..plz help ..The coding for the login form is :
public partial class _Default : System.Web.UI.Page
{
SqlConnection con;
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
ViewState["LoginErrors"] = 0;
}
if (validateFunction(Login1.UserName,Login1.Password))
{
Response.Redirect("gallery.aspx?Name=" + Login1.UserName);
}
}
protected void Login1_Authenticate(object sender,AuthenticateEventArgs e)
{
if (validateFunction(Login1.UserName, Login1.Password))
{
Session["UserName"] = Login1.UserName.ToString();
Login1.Visible = false;
Response.Redirect("gallery.aspx?Name=" + Login1.UserName);
}
else
{
e.Authenticated = false;
}
}
private bool validateFunction(string username, string password)
{
bool returnval = false;
string strConnection = "Server=.\\sqlexpress;Integrated Security=true;Initial Catalog=dbLogin";
con = new SqlConnection(strConnection);
String sqlQuery = "SELECT UserName, password FROM tbLogin WHERE UserName='" + username + "' and password='"+password + "'";
cmd = new SqlCommand(sqlQuery, con);
Session["UserName"] = Login1.UserName.ToString();
SqlDataReader dtr;
con.Open();
dtr = cmd.ExecuteReader();
while (dtr.Read())
{
if ((username == dtr["UserName"].ToString()) & (password == dtr["password"].ToString()))
{
returnval = true;
}
dtr.Close();
return returnval;
}
return returnval;
}
protected void login_error(object sender, EventArgs e)
{
if (ViewState["LoginErrors"] == null)
ViewState["LoginErrors"] = 0;
int errorcount = (int)ViewState["LoginErrors"] + 1;
ViewState["LoginErrors"] = errorcount;
if ((errorcount > 3) && (Login1.PasswordRecoveryUrl != string.Empty))
{
Response.Redirect(Login1.PasswordRecoveryUrl);
}
}
the table "tbLogin" columns are:
UserName,
Password
UserId
plz help in finding the error
|
|
|
|
|
Which error message do you get?
By the way, use stored procedures with parameteres to prevent SQL Injection.
I Love T-SQL
"Don't torture yourself,let the life to do it for you."
If my post helps you kindly save my time by voting my post.
www.aktualiteti.com
|
|
|
|
|
error is that I could not retrieve all the records from the table..Instead, some of them are used perfectly.but some are not.
For instance, there are 3 records in the table "tbLogin".
Now 2 records are taken well in the login page .but last entry has not been taken by it ..
|
|
|
|
|
Since you are using the username and password directly in the select query your query might fail if there is any mismatch between the input and the database value. Depending on the server's case sensitivity settings, 'ABC' might not be equal to 'abc'. Also check if your passwords match exactly, no spaces on the ends.
Also, your design is perfect for SQL injection. You need to atleast sanitize your data before using it in your query! A better suggestion would be to use stored procedures.
If you cannot do either of this just get the userid and password based on just the user id. Then check the user password against the database password in code, just like its done now. Even here you need to sanitize the username before you use it in your query.
|
|
|
|
|
username and passwords are both in small letters and I'm entering the same values in the login form ...but some of them are being run successfully and some are not run..
wat could be the other solution.
my coding is also sanitised as its not on a large scale rite now ..its a small project..And I'm just pracising for building the login web page in asp.net using C#
|
|
|
|
|
We cannot identify the error with this information. As far as I can see this is a data issue and not a code issue. Try this -
Put a breakpoint on your code after the query generation line and get the query that is to be executed. Examine the query and the data. If it is just test data, then post your query and the data here.
|
|
|
|
|
I have done that .And the error is in the SQldatareader .
SQlDataReader's Object doesn't take the right username and password. wat to do to remove this error?
|
|
|
|
|
As in the username and password in the query is different from the ones you entered on screen?
Can you post some sample data?
|
|
|
|
|
ya sure...
for instance, in the "tbLogin" table .there are records as the following:
UserId UserName Password
12 rahul rahul
143 amit amit
32 rajni rajni
543 anuj anuj
Among the above records, usernames "amit" , "rahul" and "anuj" are working fine but the username "rajni" and its corresponding password is not being taken by the login form.
I hope u understand the problem now
|
|
|
|