|
you cannot stop next statement like this, because javascript is executed after all code behind is executed, you have to take two round trips here in which case the better option will be show a simple page with message and yes and no button with proper redirection and not by script.
Regards
Shajeel
|
|
|
|
|
Alright then, thanks for the advice, I shall create a new window for that then.
J Liang
|
|
|
|
|
use btn.attributes.add("onclientclick","function()";) on page load
|
|
|
|
|
Hi,
Just want to confirm something. The onclientclick is something like onclick which I can keep the way it is here? And the function(), it is the javascript function which I embedded it in my HTML? Because when I try that, the message box didn't pops out...
J Liang
|
|
|
|
|
Hey,
Thanks for the code, it's working now, didn't know it was that simple
J Liang
|
|
|
|
|
copy this code in any cs file and access it.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
///
/// Summary description for MessageBox
///
public class MessageBox
{
public class MessageBox
{
private static Hashtable m_executingPages = new Hashtable();
private MessageBox() { }
public static void Show(string sMessage)
{
// If this is the first time a page has called this method then
if (!m_executingPages.Contains(HttpContext.Current.Handler))
{
// Attempt to cast HttpHandler as a Page.
Page executingPage = HttpContext.Current.Handler as Page;
if (executingPage != null)
{
// Create a Queue to hold one or more messages.
Queue messageQueue = new Queue();
// Add our message to the Queue
messageQueue.Enqueue(sMessage);
// Add our message queue to the hash table. Use our page reference
// (IHttpHandler) as the key.
m_executingPages.Add(HttpContext.Current.Handler, messageQueue);
// Wire up Unload event so that we can inject some JavaScript for the alerts.
executingPage.Unload += new EventHandler(ExecutingPage_Unload);
}
}
else
{
// If were here then the method has allready been called from the executing Page.
// We have allready created a message queue and stored a reference to it in our hastable.
Queue queue = (Queue)m_executingPages[HttpContext.Current.Handler];
// Add our message to the Queue
queue.Enqueue(sMessage);
}
}
// Our page has finished rendering so lets output the JavaScript to produce the alert's
private static void ExecutingPage_Unload(object sender, EventArgs e)
{
// Get our message queue from the hashtable
Queue queue = (Queue)m_executingPages[HttpContext.Current.Handler];
if (queue != null)
{
StringBuilder sb = new StringBuilder();
// How many messages have been registered?
int iMsgCount = queue.Count;
// Use StringBuilder to build up our client slide JavaScript.
sb.Append("");
// Loop round registered messages
string sMsg;
while (iMsgCount-- > 0)
{
sMsg = (string)queue.Dequeue();
sMsg = sMsg.Replace("\n", "\\n");
sMsg = sMsg.Replace("\"", "'");
sb.Append(@"alert( """ + sMsg + @""" );");
}
// Close our JS
sb.Append(@"");
// Were done, so remove our page reference from the hashtable
m_executingPages.Remove(HttpContext.Current.Handler);
// Write the JavaScript to the end of the response stream.
HttpContext.Current.Response.Write(sb.ToString());
}
}
}
}
|
|
|
|
|
Hi,
Sorry, ermm...this look a bit complicated for me but thanks really for your response, I shall try to check out how your code work here.
J Liang
|
|
|
|
|
Hi all,
i have one doubt. is it possible to use asp files to asp.net project??
Thanks,
Rahi
If you look at what you do not have in life, you don't have anything,
If you look at what you have in life, you have everything... "
|
|
|
|
|
Yes, you can. You can also just rename them to be asp.net (aspx) and make sure you add the runat="server" attributes. Work the same as when you want to use html in asp.net.
|
|
|
|
|
List<object[]> topics = Database.SerializeQuery();
repeaterTopics.DataSource = topics;
repeaterTopics.DataBind();
I am filling my repeater's datasource with a type List <object[]>.
Normally to access these elements, in C# I would use, for example: topics[0][1].
However since it's in my repeater how do access the individual elements from the aspx page using the repeater syntax?
<div id='topics'>
<asp:Repeater ID="repeaterTopics" runat="server">
<ItemTemplate>
<!--How do I access the List here?? -->
</ItemTemplate>
</asp:Repeater>
</div>
/\ |_ E X E GG
|
|
|
|
|
Hello. Is there any way a custom server control can can programmatically add controls to the parent pages controls collection?
I've tried the following...
protected override void Render(HtmlTextWriter writer)<br />
{<br />
this.Page.Controls.Add(new HtmlGenericControl("div"));<br />
....<br />
}
...but it gives me an error "Collection was modified; enumeration operation may not execute.". I've also tried adding the above code into the OnPreRender and OnInit events but it still gives me an error, this time "The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases.".
What I am trying to do is get a server control to add a div tag to the parent page but positioned just after the opening body tag or just before the closing body tag, just so that it's not wrapped in any other elements basically. Something tells me this isn't possible but thought I'd ask you folks before I gave up on this.
|
|
|
|
|
Usualy the reason for this error is that the collection is changed(items added or removed) within the loop.
|
|
|
|
|
I have the followning code in my HTML part. But when I click on Deletw link it deleted the record from gridview as well as from Datasource but it give me following error page
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NotSupportedException: Updating is not supported by ObjectDataSource 'ObjectDataSource1' unless the deleteMethod is specified.
Here Is the code
<asp:gridview id="gdAddUser" runat="server" allowsorting="True" autogeneratecolumns="False"
="" datakeynames="UserId" datasourceid="ObjectDataSource1" onrowcommand="gdAddUser_RowCommand" onrowdatabound="gdAddUser_RowDataBound" onrowdeleting="gdAddUser_RowDeleting" width="390px" onselectedindexchanged="gdAddUser_SelectedIndexChanged" autogenerateeditbutton="True">
<columns>
<asp:boundfield datafield="AppName" headertext="Application">
<asp:boundfield datafield="AppRight" headertext="Permissions">
<asp:templatefield headertext="Select">
<itemtemplate>
<asp:linkbutton id="LinkButton1" runat="server"
="" commandargument="<%# Eval("UserId") %>" commandname="Delete">
Delete
protected void gdAddUser_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton l = (LinkButton)e.Row.FindControl("LinkButton1");
l.Attributes.Add("onclick", "javascript:return " +
"confirm('Are you sure you want to delete this record " +
DataBinder.Eval(e.Row.DataItem, "UserId") + "')");
}
}
protected void gdAddUser_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
// get the categoryID of the clicked row
int AppId = Convert.ToInt32(e.CommandArgument);
// Delete the record
DeleteRecordByID(AppId);
// Implement this on your own
}
}
//protected void gdAddUser_RowDeleted(object sender, GridViewDeletedEventArgs e)
//}
protected void gdAddUser_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int AppId = (int)gdAddUser.DataKeys[e.RowIndex].Value;
DeleteRecordByID(AppId);//implement yourself
}
|
|
|
|
|
Hi Guys
I need help on .NET 2005. K2.NET 2003 have SmartForms templates that work with .NET 2003, but I need to get it working on 2005 since they dont get listed. Does anyone done this before?
Kind Regards
Elizma
-- modified at 14:55 Wednesday 18th April, 2007
|
|
|
|
|
Hello,
Can anybody let me know,is KEYPRESS event can be used for an TEXTBOX in an asp.net page just as we do in vb.net.
It would be a great help.
Please do reply
Thanks
|
|
|
|
|
You can, but that means that for every key press your web page would post back to the web server. It would be a better idea to use javascript if possible.
Ben
|
|
|
|
|
Hi,
you can cater that event in javascript efficiently,
<br />
<input type = "text" onkeypress="myJSFunction()" id="txt1"><br />
<br />
Javascript:<br />
function myJSFunction()<br />
{<br />
alert("key pressed")<br />
}
Mubashir
------------------------
Software Architect
Storan Technologies Inc, USA
Every job is a self portrait of the person who did it.
|
|
|
|
|
Just like you would in VB.NET, handle the event.
only two letters away from being an asset
|
|
|
|
|
Plss help this beginer...
I've completed developing my application using ASP.NET 1.1 n sql server. So i need to deploy tat application into an exe file which should be used accross the network with 5 systems.
Could you help me out plssss...?
|
|
|
|
|
Do you mean you want to create a web setup file? Or you want to somehow many your web site into a windows application that can be accessed? Exe files are only for windows programs. You might want to switch your application to a Windows application. If you are talking about a web setup file, why would you load a web site on five systems? Perhaps you need to better explain what you are trying to do.
Ben
|
|
|
|
|
sorry for mentioning as exe file... i've developed a web application. i need to use it in five systems which are in lan. so what should i've to do now...? got it now...? i'm in urgent need of the solution... Waiting for ur reply...!
plssss do the needful...
|
|
|
|
|
So you have five web servers that you want to install your web site on? That doesn't make sense. You need one web server that is most likely an intranet server. Install your web app on that server and then your five systems on the lan should be able to access your web application from a brower. Does this web server exist on your lan? Have you ever installed a web app before? Do you know how to create DNS entries and Host headers? Without those you will not be able to access your web application on the Lan. You have to tell your network what your web app url is called (host header) and where to find the web app (IP Address / DNS)
Hope that helps.
Ben
|
|
|
|
|
Thanks Kubben... i think partly got the answer... okay i don have any web server in that lan... then what should i do...? Also tell how create DNS entries and host headers....
Waiting for ur help...
|
|
|
|
|
You do or do not have a web server? YOu kind of need a web server. If you don't have one you will not be able to do any of the rest of the steps.
Perhaps you should go back to what I said in the first post. Create a windows app and host it on a net work server.
Ben
|
|
|
|
|
no ben i've to submit my project as web app... so i'll include a web server in the network... so help me with tat DNS entries.... waiting for ur reply....
Thanks a lot...
|
|
|
|