|
how to -Develop a webpart which will display all the sites and sub sites.
For each site, it should display the name of all the web parts contained in that site.
This webpart when placed in any site should behave the same.
If any webpart in the site is hidden, specify accordingly.
using asp.net and c# .My application is in 2003 .NET (i.e .NET 1.1and not in .NET 2.0)
|
|
|
|
|
How can I schedule an ASP script to run at a certain time each day?
Thanks!
|
|
|
|
|
|
Hi guys,
When submit button is clicked on a web page (asp) i dont want users to click any links or other buttons till the request is been processed(web page queries the back end).
Web page reloads the same page with results, till then i need all links & buttons to be disabled.
I tried this code..
document.getElementsByTagName("input").disabled = true;
when submit button pressed, it disables the button but prevents from navigating to other page. how to avoid this?
Can any one suggest me an idea.
Thank you.
Mohan
|
|
|
|
|
You could do what writely (and probably others) do, and grey out the entire page and place a "please wait - processing" message over the top.
You would have a layer appear over the whole page with a transparent fill colour.
This would prevent the user pressing any link as they would be pressing the layer instead. When processing is finished, simply remove the layer or navigate to another page.
ChrisB
|
|
|
|
|
Guys,
Figured out myself from google..
document.getElementsByTagName("input")[i].disabled = true; for button
document.getElementsByTagName("a")[i].disabled = true;
document.getElementsByTagName("a")[i].removeAttribute("href"); for links
document.formname.submit() will carry on the submit action
any way thanks.
mohan
|
|
|
|
|
Hello,
I need to place Javascript code inside an Asp:Panel so that the Google Adsense banner be placed inside the panel.
I know how to do something like this in a page:
' Add javascript file (Show_Ads.js) [Google AdSense]
If Not Page.ClientScript.IsClientScriptIncludeRegistered("AdSense") Then
Page.ClientScript.RegisterClientScriptInclude(Me.GetType(), "AdSense", "http://pagead2.googlesyndication.com/pagead/show_ads.js")
End If
' Add javascript code (AdSense Code) [Google AdSense]
Dim urchinTracker As String = "<script type=""text/javascript""><!-- " & _
"google_ad_client = ""xxx"";" & _
"google_ad_width = 250;" & _
"google_ad_height = 250;" & _
"google_ad_format = ""250x250_as"";" & _
"google_ad_type = ""image"";" & _
"google_ad_channel ="""";" & _
"//--></script>"
If (Not Page.ClientScript.IsClientScriptBlockRegistered("AdSenseCode")) Then
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "AdSenseCode", urchinTracker)
End If
However I have no idea of how to place the javascript code inside the Asp:Panel so that the banner appear there.
I need to make this at runtime.
Could somebody help me out with this?
Thanks,
Miguel
|
|
|
|
|
If you want to place something inside the Panel control, you can extend the Panel control and override the RenderContents method and emit the client side stuff there.
|
|
|
|
|
I am really sorry but I got completly lost.
Could you give me a simple example.
Thanks,
Miguel
|
|
|
|
|
Something looks like:
public class ExPanel : Panel
{
protected override void RenderContents(HtmlTextWriter writer)
{
base.RenderContents(writer);
writer.Write("my client side stuff goes here");
}
}
Another option is that you can simply place the Label/Literal control inside the Panel, then assign the client side stuff to the Text property of these controls.
|
|
|
|
|
Hi guys,
I am considering using DotNetNuke as a content management on my website. Has anybody used this product and if so what was the general opinion of it?
"a fool will not learn from a wise man, but a wise man will learn from a fool"
"It is hard to fail, but it is worse never to have tried to succeed." - Theodore Roosevelt
"Success is going from failure to failure without losing your enthusiasm." - Winston Churchill
My Website || My Blog
|
|
|
|
|
I am trying to show an image of a flag in a grid column based on a value in another column.
I thought the code below would work (its vb.net). If I replace the <img... html with just normal text - the normal text is shown.
But for some reason I can never get the image to display.
Is there another way I should be doing this ?
Dim GridItem As DataGridItem
For Each GridItem In DataGrid1.Items
If CType(GridItem.Cells(5).Text, Integer) = 1 Then
'put in flag here
GridItem.Cells(1).Text = "<img src=flag.gif>"
End If
Next GridItem
|
|
|
|
|
First of all, you can do a view source and check if the html markup is rendered properly or not. Then you can check the src value of the image file. Also, you can use the ItemDataBound event of the datagrid to set the Text property of the specific cell. Another option is that you can use the TemplateColumn which allows you placing the image element in the ItemTemplate, and you can use the data binding expression to control the visibility of the image control.
|
|
|
|
|
So the code itself looks good ?
Thanks.
|
|
|
|
|
so so, as you can use the template column or ItemDataBound event instead and you no need to walk through again the Items collection of the grid to dislay the image.
|
|
|
|
|
Is there any way to override page constructor in ASP. NET?
I am using vs2005 and when I try to run the page with overriden constructor I get an error "Object reference not set to an instance of an object." for the control I'm trying to use within constructor. If I try to add this control programmatically I get an error that it already exsists. What can I do to make this work???
<br />
public partial class _Default : System.Web.UI.Page<br />
{<br />
public _Default()<br />
{<br />
<br />
RadioButton b = new RadioButton();<br />
b.ID = "e";<br />
Panel1.Controls.Add(b);
}<br />
<br />
}<br />
--Nikola--
modified 7-Dec-20 21:01pm.
|
|
|
|
|
Hi there,
You cannot get reference to the Panel control at this stage as it's not initialized yet. There are a couple of ways to dynamically add the control, for example you can use the Page_Init event or override the OnInit method .... for more information, see ASP.NET Page Life Cycle Overview [^]
|
|
|
|
|
I have tried that but when I add a control within OnInit or PageLoad I can not access it within event handler. All programatically added controls are lost.
It goes like this:
I have a page with a button and I add some radio buttons programatically:
<br />
Int32 i=0;<br />
for (i=0;i<5;i++)<br />
{<br />
RadioButton b = new RadioButton();<br />
b.ID = "radio_" + i.ToString();<br />
Controls.Add(b);<br />
}<br />
and in the event handler for the button click:
<br />
RadioButton b = FindControl("radio_2"); <br />
FindControll returns null.
I'm a bit confused so if you have any ideas it would be great.
Thanks.
P.S. This is simplified code of what I'm trying to do but the point is the same.
--Nikola--
modified 7-Dec-20 21:01pm.
|
|
|
|
|
The FindControl method basically looks for a specific control within the scope of the current naming container. For example, if you call Panel1.FindControl("Radio1") , the method only searches the Panel1 control's control tree for the Radio1 . In other words, you need to get reference to the naming container of the dynamic controls before using the FindControl method. For more information, see Accessing ASP.NET Controls Programmatically [^]
|
|
|
|
|
My problem is not FindControl my problem is that when a ButtonClick event raises all programatically added controls are lost. If ,based on your example, I use panel to add controls inside event handler Panel1.Controls.Count is 0.
--Nikola--
modified 7-Dec-20 21:01pm.
|
|
|
|
|
Nikola Knezevic wrote: my problem is that when a ButtonClick event raises all programatically added controls are lost
Okay, you didn't mention that in your previous posts. Are you sure that you always readd the dynamic controls to the web page on postback as the ASP.NET does not persist that for you. If you don't, they get lost. If this is not the case, could you post more code snippets?
|
|
|
|
|
Ok here it is.
this portion of code is in PageLoad:
<br />
if(!IsPostBack)<br />
{<br />
while (rd3.Read())<br />
{<br />
TableRow r1 = new TableRow();<br />
TableCell c1 = new TableCell();<br />
TableCell c2 = new TableCell();<br />
TableCell c3 = new TableCell();<br />
<br />
RadioButton rb = new RadioButton();<br />
rb.GroupName = "group_" + Session["questionID"];<br />
rb.ID = "Q_" + i + "_A_" + j;<br />
rb.Attributes.Add("dbID", rd3["AnswerID"].ToString());<br />
c1.Controls.Add(rb);<br />
j++;<br />
<br />
Label lbAnswer = new Label();<br />
lbAnswer.Text = rd3["Text"].ToString();<br />
<br />
<br />
c2.Controls.Add(lbAnswer);<br />
<br />
if (rd3["AnswerPicture"] != null)<br />
{<br />
Image im = new Image();<br />
im.ImageUrl = rd3["AnswerPicture"].ToString();<br />
if (im.ImageUrl.Length > 3)<br />
c3.Controls.Add(im);<br />
}<br />
<br />
<br />
r1.Cells.Add(c1);<br />
r1.Cells.Add(c2);<br />
r1.Cells.Add(c3);<br />
<br />
tblQuestions.Rows.Add(r1);<br />
<br />
}<br />
<br />
}
else<br />
i -= 1;<br />
newPage = false;<br />
}
}<br />
and this method is called in event handler for the "Next" button
<br />
private void CheckAnswers()<br />
{<br />
Response.Write(Session["areaID"]);<br />
Int32 i = 0;<br />
while (true)<br />
{<br />
<br />
<br />
Label lbl = (Label) tblQuestions.Rows[i].Cells[1].FindControl("Q_" + i);<br />
<br />
if (lbl == null)<br />
{<br />
break;<br />
}<br />
<br />
Int32 j = 0;<br />
while (true)<br />
{<br />
RadioButton rb = (RadioButton) tblQuestions.Rows[i].Cells[0].FindControl("Q_" + i + "_A_" + j); <br />
<br />
if (rb == null)<br />
{<br />
break;<br />
}<br />
<br />
if (rb.Checked)<br />
{<br />
<br />
if (isCorrect(lbl.Attributes["dbID"], rb.Attributes["dbID"]))<br />
{<br />
Int32 pts = Convert.ToInt32(Session["points"].ToString()) + Convert.ToInt32(lbl.Attributes["pts"]);<br />
Session["points"] = pts;<br />
}<br />
}<br />
<br />
j++;<br />
<br />
}<br />
i++;<br />
<br />
}<br />
}<br />
but it finds no radio buttons
What I need is to load questions from the database, put them on the page and when user klicks "next" to read which radio buttons user clicked and calculate the points.
--Nikola--
modified 7-Dec-20 21:01pm.
|
|
|
|
|
As I said in the above reply that you need to make sure you readd the dynamic controls on postback and the ASP.NET does not do that for you. Now go back to your sample code in the Page_Load event handler, you are checking the if(!IsPostBack) and adding the dynamic radios in the if statement body. That also means this code only executes just one time when the page is first visited, and when you hit the Next button to cause the postback, this code does not execute due to the code if(!IsPostBack) . As a result of that, the dynamic radios do not get reinserted to the web page, and you find no thing in the CheckAnswers. If you still don't get it, you can try stepping through your code in debog mode and see how the Page_Load executes. So the simple fix is that you don't check the IsPostback in the Page_Load.
|
|
|
|
|
I have already tried without if(!IsPostBack) and all the radios are there but none is checked. I guess that by recreating them I recreate their checked state too.
--Nikola--
modified 7-Dec-20 21:01pm.
|
|
|
|
|
Normally, there are a couple of reasons that causes the ViewState of a control to get lost:
+ The control has the ViewState disabled.
+ The control is dynamically readded after the ViewState is loaded.
+ The control has different ID when the ViewState is loaded. For example, when the ViewState is saved the control'ID is "Radio1", but when the ViewState is loaded on postback the value of the ID is "Radio2".
Below is a working example:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default1.aspx.cs" Inherits="Default1" %>
<!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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder runat="server" ID="PlaceHolderControl1"></asp:PlaceHolder>
<br />
<asp:Button runat="server" ID="btnPushMe" Text="Pushed Me!" OnClick="btnPushMe_Click" />
</div>
</form>
</body>
</html>
//Code-behind
public partial class Default1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Table table = new Table();
for (int rowIndex = 0; rowIndex < 3; rowIndex++)
{
TableRow row = new TableRow();
TableCell cell = new TableCell();
RadioButton radio = new RadioButton();
radio.ID = "Radio_" + rowIndex.ToString();
radio.GroupName = "RadioGroup";
cell.Controls.Add(radio);
row.Cells.Add(cell);
table.Rows.Add(row);
}
PlaceHolderControl1.Controls.Add(table);
}
protected void btnPushMe_Click(object sender, EventArgs e)
{
for (int rowIndex = 0; rowIndex < 3; rowIndex++)
{
RadioButton radio = (RadioButton)PlaceHolderControl1.FindControl("Radio_" + rowIndex.ToString());
Response.Write(string.Format("Radio {0}'s checked state : {1} <br>", rowIndex, radio.Checked));
}
}
}
|
|
|
|