I was trying to display lblName1 and lblName2 only if they have text. Even when i dont have any value for lblName2, the break still has an impact. Can someone please advice me if there is any other way to display or conditionally display
<asp:Label ID="lblName1" runat="server" Visible= "false" ></asp:Label> <br />
<asp:Label ID="lblName2" runat="server" Visible= "false"> </asp:Label>
Thanks in advance..
Give the label a CSS class name and set the margin for that class:
<asp:Label ID="lblName1" CssClass="Testing123" runat="server" Visible= "false" ></asp:Label> <br />
.Testing123{ margin-bottom: 20px; }
If the Label is not rendered then no gap will be created.
You might consider adding a litteral to handle the br and this way play with its visibilty :
<asp:Literal runat=server Id=C_lit_Br><br /></asp:Literal>
with in your codebehind :
if (!lblName2.Visible)
C_lit_Br.Visible=false;
It is a quick patch, but it should work.
It is better to use literal in that case:
In literal text you also write html in it
wrap the labels in p tags:
<p><label1></p>
<p><label2></p>
Going with what you have and ignoring using any code behind changes, you can use some css to provide a break without using a <br /> tag.
By this, I mean if you were to give your <label> controls a css class, class="labelStyle
.labelStyle{
float: left;
clear: left;
}
Your html produced would look like
<span class="labelStyle">Some Text</span><span class="labelStyle">More Text</span>
If there is no value in the Labels, then your html would contain two empty span tags.
This will move the 2nd label onto the next line. However this may not fit in with the rest of your html, and because you are floating elements, then your overall layout might break.
An example is here http://jsfiddle.net/2v93f/
Related
Noob question.
Why does this not work into my .aspx file?
<body>
<asp:Label ID="Label1" runat="server" Text='<%=System.DateTime.Today.Day.ToString()%>' ></asp:Label>
</body>
It does display the <%=System.DateTime.Today.Day.ToString()%> string which is obviously not what I want.
Same result if I try to display the content of a code behind variable:
<asp:Label ID="label" runat="server" Text='<%= versionNumber %>' >
versionNumber being properly instanced and set into the code behind.
You cannot mix server controls with code blocks.
There are two ways to work around that limitation:
Just use <%=System.DateTime.Today.Day.ToString()%> without a Label around it
Use codebehind to set Label1.Text = System.DateTime.Today.Day.ToString();
The first way will display the date to the user, but you cannot further change it from codebehind.
The second way does enable you to alter the text from codebehind.
It is true you can't mix server controls with Code blocks,
If its compulsory for you to use Server side control, and you don't even want to set value from code behind then you can go for this solution.
<asp:Label ID="Label1" runat="server"><%=System.DateTime.Today.Day.ToString() %></asp:Label>
Similarly you can use code behind variable as follows ,
<asp:Label ID="Label1" runat="server"><%=versionNumber %></asp:Label>
If you really want to use a asp:Label
Use it as follows:
<asp:Label ID="Label1" runat="server"><%=System.DateTime.Today.Day.ToString() %></asp:Label>
I want to display PDF to HTML contents parallel. For the conversion I used iTextSharp from PDF to HTML. The HTML contents are in a format like:
<span style="background: cyan">NLJJCN+BellMT</span>
<span style="background: cyan">11.353696472168pt</span>
so I tried with div to display the contents it was overlapping .. then label same problem as div. At last I tried HTMLeditor
<asp:TextBox ID="txtb_output" runat="server" TextMode="MultiLine" width=" 493px" height=" 485px" ></asp:TextBox>
<asp:HtmlEditorExtender ID="HtmlEditorExtender2" runat="server" TargetControlID="txtb_output"></asp:HtmlEditorExtender>
but in this it was not taking style .. normally text was displayed. Can anyone please help me how can I display the HTMLcontents in the browser. I am working on web application.
Thank you in advance
If I did not misunderstand, you have some html and you just want to show it on the browser from code-behind? If it is so, you can place a Literal control with Mode="PassThrough" and assign its Text property from code-behind. e.g.
aspx markup:
<asp:Literal ID="lt" Mode="PassThrough" runat="server" />
code-behind:
//...
lt.Text = "<span style='background-color:red'>It works!</span>";
This is the code and css i have checked several links and followed accordingly but i still get the problem. Kindly explain.
<asp:Button ID="Button1" runat="server" BackColor="#93C323"
Font-Names="Segoe UI Light" Font-Size="X-Large" ForeColor="White" Height="41px"
style="margin-left: 144px" Text="+ Add" Width="121px" />
.button:hover
{
background:#DBDBDB;
}
Avoid to make the style inline when you like to change it by hover, or dynamically. This is an example that I just tested and is working:
<asp:Button ID="Button1" runat="server" CssClass="OneButton" Text="ok" />
<style type="text/css">
.OneButton
{
background-color:#93C323;
font-size:x-large;
color:White;
height:41px;
width:121px;
margin-left:144px;
}
.OneButton:hover
{
background-color:#DBDBDB;
}
</style>
And a live version of it: http://jsfiddle.net/gwSWy/
You need to add cssclass="button" to your button.
<asp:Button ID="Button1" runat="server" BackColor="#93C323" CssClass="button"
Font-Names="Segoe UI Light" Font-Size="X-Large" ForeColor="White" Height="41px"
style="margin-left: 144px" Text="+ Add" Width="121px" />
If you're looking to do this globally for all buttons:
The ASP.NET button creates <input type="submit">.
So you'll need to style around that.
If you just need that style with your button, you can use the Button Property CssClass. Check this link for your reference.
and one thing more, I guess you're not using style properly. you can just put your margin details in the button css then remove the attribute style.
Your CSS rule will not find the element in the DOM because there is no CSS class assigned to it the way you are doing it.
You can do as nimeshjm mentioned and add the CssClass="button" attribute to the button control - this should match your CSS rule assuming you don't have any other problems (stylesheet is linked to on the page, no over-riding/more specific rules.
You also won't be able to style the element based on its ID because it will be automatically changed when the page is rendered to prevent ID collisions between elements.
If you use the attribute ClientIDMode="Static" which will keep the ID as you specified in the control.
As Joe Enos stated, the Button control is rendered as an <input type-"submit" /> so you also can't use an CSS rule like button:hover { background: black; }
I am using a button that has to be invible and should be used by a javascript function.
<asp:Button ID ="btnDummy1" runat="server" Visible ="true" OnClick="btnSubmit1_Click" width="0px" height="0px"/
I cannot keep visible = false as it the javascript will not use invible content in the poage. I havetried to give width=0 and height=0, still it showws up in Chrome. What do you guys think i should do?
Thanks in advance :)
A pretty clean approach in ASP.Net it give it a "hidden" class:
<asp:Button ID ="btnDummy1" runat="server" CssClass="hidden" />
Then in your stylesheet:
.hidden { display: none; }
If you set it to Visible="False" then the code will not be executed.
Instead I think you should wrap it in a <div> and set display:none via css:
<div style="display: none;">
<asp:Button ID ="btnDummy1" runat="server" OnClick="btnSubmit1_Click" />
</div>
adding style="display:none" would hide the button till you make it visible again
<asp:Button ID ="btnDummy1" runat="server" OnClick="btnSubmit1_Click" style="display:none"/>
How about
style="display:none"
for the button instead of Visible = "true".
Can you just use a hidden form field in this case? This is generally the preferred method of passing information along.
See http://www.tizag.com/htmlT/htmlhidden.php
<asp:Button ID="btnMyOrders" runat="server" Text="my orders" CssClass="dropdown-item" OnClick="btnMyOrders_Click" Visible="False" />
Example then in Form(){
btn.Visible = true; to show it again
}
I think the first question you should ask yourself is : why would I put in my HTML doc a button that should not be visible ?
An HTML document should be used ONLY TO DESCRIBE A CONTENT'S SEMANTICS. So an HTML doc should ONLY contain the content you want to publish and extra data to explain the content's SEMANTIC !! NOTHING about the way it is displayed, NOTHING about the way it behaves !!
All displaying and behaviors questions should be managed with CSS and Javascript, NEVER within HTML itself.
Any element needed for Javascript only purpose should be added in the doc by Javascript itself !
You should never find, in an HTML doc, such things as prev/next buttons for a javascript picture gallery for example. The HTML doc should only contain the pictures list, than your JS script will change the way this list is shown, making it a eye candy gallery and add buttons for navigation.
So in your example, your saying you want to add in your HTML doc an invisible button with some Javascript actions on it.... that's probably an example of some content that should never be in the HTML doc.
I am using ASP.NET 3.5 and C#.
On my page I need to have a Text box that must not be visible to the user but it MUST be there when you look at the Page Source, reason being, another program called Eloqua will be looking at the page source and it must get the value of that text box.
The value of that text box will be populated based on what the user selects.
Thus, I cant set the text box property to Visible = False because then it will not be in the source HTML and I can't set the Enabled = False because I do not want the user to see the text box.
Is there some property I can use to make this text box hidden to the user but still visible in the page source?
My ASP.NET text box
<asp:TextBox ID="txtTester" runat="server"></asp:TextBox>
You can use a hidden field.
<asp:HiddenField id="myHiddenInput" runat="server" />
Use it just like a textbox.
Try this to invisible textbox instead of server side Visible property :
myTextBox.Style.Add("visibility", "hidden");
// or :
myTextBox.Style.Add("display", "none");
First thought: Can you use a hidden field? This would be much more suitable (<asp:hiddenfield ID="blah" runat="Server" /> if you want a .NET control).
If the app won't take that though you can actually just put "style='display: none;'" in the code-infront of the page. Intellisense won't like it, but it'll render just fine (EG: <asp:TextBox id="txtField" style="display: none;" runat="server" />)
Also from the codebehind you can do txtField.Attributes.Add("style", "display: none");
Or you could also just give it a CssClass "hidden" which in your CSS is defined as ".hidden { display: none;}"
The CSS class or just using a hidden field would be my recommendations.
Page.RegisterHiddenField or asp:HiddenField
CSS:
.hidden-div
{
display: none;
}
HTML:
<div class="hidden-div">
<input ... />
</div>
It will cause your input to be hidden, but it's gonna be visible in source code.
EDIT: Sorry, I misread it. I thought you wanted to hide an input. But it doesn't matter anyway, just replace input with basically anything.
If it must be a textbox for whatever reason just hide it with css:
<input type="text" name="blah" style="display:none" />
By Setting Visible = "false" in server side will not render the control. You should either use asp:Hidden or INPUT type="hidden". Other option is using CSS, by setting display:none.
Why not use a hidden field:
<input type="hidden" name="blah" />
How about using CSS to hide a div containing the text box:
.hidden {
position: absolute;
left: -9999px;
}
Then within your page:
<div class="hidden">
<asp:TextBox ID="TextBox1" runat="server" Text="hi"></asp:TextBox>
</div>
Hope this helps.
Simply, Try to create a CSS class and attach it to your TextBox as the following:
CSS Class Style
<style>
.Hide {
display:none;
}
</style>
Textbox using CssClass="Hide"
<asp:TextBox ID="txtTester" runat="server" CssClass="Hide"></asp:TextBox>
Note: you can't use validation with the Hidden control
<asp:TextBox ID="TextBox2" runat="server" visible="false"></asp:TextBox>