Fire html button using .cs page - c#

i need to fire html buttom after the end of my asp.net c# code
<asp:Button ID="Button3" runat="server"
Text="Button" onclick="Button3_Click" />
<input id="Button2" type="button" value="button" data-type="error" class="growl-type2" runat="server" />
and cs code is
protected void Button3_Click(object sender, EventArgs e)
{
----
i need to fire button2( automatically) in this position
}

Button clicks are just handled events. To fire a button click you simply need to raise the correct event.
You'll need something like: Button2_Click(sender, e)
Alternatively, you can inject some Javascript into the page, which reacts directly to the click of button3 or is caused by the click of button3 and causes the click of button2 through something like: document.getElementById('Button2').click()

Related

Button click only fires when IP in the URL not computer name

I have an asp.net webform. When I browse to the URL using the computer name ie: http://somecomputer/mypage.aspx the button click events do NOT fire. Other events do like selected index changed or text changed but the button click does not.
If I navigate to the page by IP, ie: http://192.168.100.1/mypage.aspx, then the button click fires and everything works as expected. Why is this and how can I fix it?
here is the button click html:
<div class="li_div">
<asp:Button ID="btnInventoryRpt" runat="server"
Text="Load Report" OnClick="btnInventoryRpt_Click" CausesValidation="false" UseSubmitBehavior="False" />
</div>
Here is the code behind:
protected void btnInventoryRpt_Click(object sender, EventArgs e)
{
load_inventory_report();
}

How to set an Event to the Button control?

I'm trying to set OnClick-Event to the asp:Button control. I already tried to double-click the button also from Properties-Window >> Events >> Actions but these doesn't work. Any idea why would i face such thing and how to solve it ?
You can do it manual, eg:
<asp:Button id="btnSave" runat="server" OnClick="btnSave_Click" Text="Save"></asp:Button>
and on code behind
protected void btnSave_Click(object sender, System.EventArgs e)
{
// here place your code for the click event.
}

Website doesn't see newest session values until I refresh page, but refreshing resets values of controls

My ASP.NET website doesn't see newest Session values. When my form is being sent to the server after clicking the button, the result sent back to browser depends of Session values. I process them in Page_Load method. It doesn't see the last change od Session values, but one before last. It looks like button's event handlers are executed before page's event handles but I'm not sure if it is like that.
I tried to do my code in other methods like Page_PreInit etc, but it's still the same like that. The only thing that works for me is refreshing the page: Response.Redirect(Request.Url.AbsoluteUri); after any change of any Session value, but it resets values of all controls, which I want to be the same as before. Is there a better solution?
Example: when It runs first time, the label's text is "Click the button", but when I click any of the buttons one time, nothing happens. When I click any of the button second time, label's text is the value of first click (even if I click A and then B, value changes to A after clicking B).
form:
<form id="form1" runat="server">
<div>
<p>
<asp:Label ID="Label1" runat="server" />
</p>
<p>
<asp:Button ID="Button1" runat="server" Text="A" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="B" onclick="Button2_Click" />
</p>
<p>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</p>
</div>
</form>
Event handlers:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Session["Letter"].ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
Session["Letter"] = "A";
}
protected void Button2_Click(object sender, EventArgs e)
{
Session["Letter"] = "B";
}
Global method:
void Session_Start(object sender, EventArgs e)
{
Session["Letter"] = "Click the button";
}
Without your code its very difficult, but is sounds like you are setting a Session collection value in the code of a button's click event( or some other control/event ), and expecting it to be in the SESSION collection during the Page_Load event.
It doesn't work like that - When the page request comes in, Page_Load happens before the control's events.
Instead of Page_Load use Page_PreRender this event occurs before the page is prepared to be sent back to the client.
Your addition of the code confirms the above.
Normally I wouldn't use Session_Start to initialize stuff like this, use Page_Load and IsPostBack property
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack){
Label1.Text = "Click the button";
}
}

User Control Buttons Not Firing

I have a user control that allows the user to add/edit a worker. When the user clicks the 'Add Worker' button the user control appears in a DevExpress Popup. All of the following button are in an update panel to prevent Postbacks.
When I edit a user (pencil) everything works fine. To edit a user I enter a last name, click search (magnifying glass) and then click edit (pencil). It's only when I load the page and click add the save/cancel buttons do not work.
I add the control in asp.net
<dx:PopupControlContentControl ID="PopupControlContentControl2" runat="server" SupportsDisabledAttribute="True">
<uc:WorkerAddEdit ID="wae" runat="server" OnOnWAECancelEvent="wae_OnWAECancelEvent" OnOnWAESaveEvent="wae_OnWAESaveEvent" />
</dx:PopupControlContentControl>
Here is the C# code behind the edit (the one that works correctly. The pencil)
protected void btnEditWorker_Click(object sender, EventArgs e)
{
SetupSessions();
wae.WorkerEdit = loadedWorker;
pucAddEditWorker.HeaderText = "Edit Worker";
pucAddEditWorker.ShowOnPageLoad = true;
}
Here is the C# code behind for the add (the round + that doesn't work)
protected void btnAddWorker_Click(object sender, EventArgs e)
{
wae.WorkerEdit = null;
pucAddEditWorker.HeaderText = "Add Worker";
pucAddEditWorker.ShowOnPageLoad = true;
}
Here is the asp.net section of the save and cancel button. This shows both onClick calls
<td><dx:ASPxButton ID="btnSave" runat="server" Text="Save" Theme="MetropolisBlue"
Width="50px" Height="20px" style="float:right;" onclick="btnSave_Click" /></td>
<td><dx:ASPxButton ID="btnCancel" runat="server" Text="Cancel"
Theme="MetropolisBlue" Width="50px" Height="20px" style="float:right;"
onclick="btnCancel_Click" /></td>
Here is the events in the code behind
protected void btnCancel_Click(object sender, EventArgs e)
{
//Do Work Here
}
protected void btnSave_Click(object sender, EventArgs e)
{
// Do Work Here
}
If I put a break point on either the save or cancel click event nothing ever happens. I've been googling for a while now with no luck.
Thanks in advance.
In Design mode of the form, have you tried clicking the control once, and check it on Properties (Events) window? Maybe the Click event does not have any method selected.
Select the btnSave_Click method in the Click label.
I figured out what the problem was. I am using a textbox from DevExpress. Further up in my code I had the textbox as follows:
<dx:ASPxTextBox ID="txtPhoneNumber" runat="server" Width="100px" Theme="MetropolisBlue" >
<MaskSettings Mask="(999) 000-0000" IncludeLiterals="None" />
<ValidationSettings Display="None">
</ValidationSettings>
</dx:ASPxTextBox>
Because I had the 0's in the mask it was trying to validate whatever was in the text box. Because I turned off the validation settings (ValidationSettings Display="None") I never saw the error but it was still validating. I made a change to this:
<dx:ASPxTextBox ID="txtPhoneNumber" runat="server" Width="100px" Theme="MetropolisBlue">
<MaskSettings Mask="(999) 999-9999" IncludeLiterals="None" />
<ValidationSettings Display="None">
</ValidationSettings>
</dx:ASPxTextBox>
and everything worked fine. I just started using DevExpress and it shows! Thanks to everyone for the help!

How close Html window when click asp.net button?

I have asp.net button "OK" in html popup window. I after my logic done how close that popup window it self?
<asp:Button Id="btnOK" runat="server" AccessKey="<%$Resources:
wss,multipages_okbutton_accesskey%>" Width="70px" Text="<%$Resources:wss,
multipages_okbutton_text%>" OnClick="btnOK_Click" />
<asp:Button ID="btnOK" runat="server" OnClientClick="window.close(); return false;" Text="Close" />
All correct but there is another way if you want close the window in your code:
Suppose that the button ID is "ContineButton" and the click event handler name is "ContineButton_Click"
protected void ContineButton_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", "window.close()", true);
}
If there is a chance that your server side code may fail, and you need to keep the popup open to correct errors, the OnClientClick trick won't help. I do this with a PlaceHolder and a small script:
<asp:PlaceHolder id="close_script" runat="server">
<script>window.close();</script>
</asp:PlaceHolder>
Then, in the button handler, set the Visible property of the PlaceHolder to close the popup (or leave it open:
protected void btnOK_Click(Object sender, EventArgs e) {
bool success = processPage();
close_script.Visible = success;
}
That requires some javascript. Change your button markup to this:
<asp:Button Id="btnOK" runat="server" AccessKey="<%$Resources:
wss,multipages_okbutton_accesskey%>" Width="70px" Text="<%$Resources:wss,
multipages_okbutton_text%>" OnClick="btnOK_Click" OnClientClick="javascript:window.close(); return false;" />
There are other things to consider here - an accessible site will work without JavaScript including opening and closing a popup window. It will be dumbed down, but still function. Take a look at this article:
http://accessify.com/features/tutorials/the-perfect-popup/

Categories

Resources