I am using .net 1.1 In My page,i have few ImageButtonClientSide Controls and some other buttons which causes postback.Now I want to know,when page postbacks,In Page_Load which control has been clicked?I am currently doing like this
if ( Check.IsNotNulOrBlank(this.Request.Form["__EVENTTARGET"]) )
{
if(this.Request.Form["__EVENTTARGET"].Equals("imgButtonSearch"))
{
}
}
But this.Request.Form["__EVENTTARGET"] is showing empty values.
There is different way to check that for postback done byButton and image button
Please look at this article link given below.
It clearly tells how to achieve that for image button
How to know which control has triggered the Post back event.
Related
I'm currently having an issue after a click on an hyperlink inside a wpf Page.In my RequestNavigate or Click (both have the same behavior in this situation) event I do the usual Process.Start(hyperlink.NavigateURI).The problem is that this event opens the webpage both in the default browser (the behavior I'm looking for) and in my wpf Page object as well which I don't want.I was wondering if there was any workaround for this issue? Thanks in advance.
You need to set e.Handled = true to say you have already handled the hyperlink
See Example using Hyperlink in WPF
The reason your current page also loads with the Url is because you are using a Hyperlink. Try using either a Hyperlink with no Url, a button or a styled Label
In my asp.net web page, there are a few of buttons and checkboxs. They all can cause postback.
Can I detect which control is clicked? Because I will add code for if clicked a button then do something.
I saw that some examples are done with Jquery.
Can we just do it in C#?
Thanks.
Why are you not just using the click behavior of the button:
ASPX
<asp:Button id="Button1"
Text="Click here for greeting..."
OnClick="GreetingBtn_Click"
runat="server"/>
CS
void GreetingBtn_Click(Object sender,EventArgs e)
{
}
reference here
You could check Request.Form["_EVENTTARGET"] for the control that generated the postback
well if each of the buttons submit a key value to the post or get parameters, and theyre all different it should be pretty easy! :)
localhost/home.html?button=clicked&link=selected
the above is an example of a get parameter url, you can use jquery to get those, or if its a post you would have access to them in a similar way...the previous page would have to have been a form though.
You could eventually do it by checking Request.Form["_EVENTTARGET"] but that is highly unusual and certainly not necessary.
Whatever you need to do, you can do it in the Click event handler of the given control.
You can set a server hidden control specifying the action (checkbox/textbox/button clicked) using javascript & retrieve that server control in page load to check its action & add your code for that action
How I can determine which control in a page clicked using Http Modules?Consider we have a page with 3 button.
thanks
If you can get access to HttpContext.Current.Request then you should check the Form['__EVENTTARGET'] element to see which control has caused the postback. This however will not work for regular buttons because they are rendered as simple <input type="submit">. Luckily they are added as part of the post data so you can iterate over the Form elements and the button you find (by its ID) is the button that caused the postback.
I got this Text box with default value as "First Name" ..Now when I click inside this text box to enter name , this value "First Name" keeps on displaying. What I want is to the text box to clear as soon as I click inside it. What property do I need to set in mt textbox tag ?
[Edit]
ok anything from Telerik that I can use to do that ?
There is not out of the box functionality in TextBox that will accomplish this, but the ASP.Net Ajax Toolkit has a Watermark Extender that will do everything you want.
I have used both, but now personally use a jQuery Watermark Plugin
Either will work just fine, choose based on your needs.
According to the Telerik docs you just have to set the EmptyMessage property on their TextBox control. Demo Page Here
In the code behind, on Page Load you can add the following code to achieve this
TextBox1.Attributes.Add("onClick", "javascript:if(this.value=='First Name'){this.value='';}");
You can use the method suggested by #Josh. If you do not want to use Ajax Toolkit controls or JQuery you could write it on your own using Javascript. Write a function which gets called when the foucs is received by the textbox control. I thik the function is called onfocus or just focus in Javascript.
Hi I just wrote this small function which will achieve your desired result
function clearInputBox(x,prefil){
if(x.value == prefil){
x.value = '';
}
}
Your input box looks like this
<input type='text' value='First Name' onfocus="clearInputBox(this,'First Name')" />
May be this will help you
Taking Shobans advice one step farther, you could add something like this to your Page subclass
protected override void OnInitComplete(EventArgs e)
{
string jsString = "javascript:if(this.value=='" + TextBox1.Text + "'){this.value='';}";
TextBox1.Attributes.Add("onFocus", jsString);
base.OnInitComplete(e);
}
What this will do is, it will always consider that default string is the one this controll contains at esign time (the initial one in your .aspx file), so you wont have to manually change it in codebehind every time you change your .aspx. Remember, that OnIinitComplete fires before any viewstate or postback data has been applied, but after the controlls on your page have been set to their default values.
P.S. As anishMarokey pointed, use onFocus vs onClick, since fields can gain focus without clicks via Tab key.
I want to know what exact events fires when ASP.NET page load event fires. As i am using a lightbox in which some insertion is going on and after insertion i want that the parent page reloads with the new value loaded in gridview which i have in parent page. In light box page i added javascript event of parent window reload but sometime it works sometimes it reloads but after refresh newly insert values shows, please help me what i am doing wrong thanks in advance.
I think you have isPostBack check in parent page. Try to remove it for test.
here is asp.net page lifecircle
http://msdn.microsoft.com/en-us/library/ms178472.aspx
I'm trying to understand your question. Am I right in thinking that you are calling window.location.reload() in javascript but when the window reloads, the new inserted content isn't always there?
It sounds like you either have a caching issue or you need to insert a brief wait interval before you reload the page. Does this help you?