CheckBox in Dropdown - asp.net

Hi All
I need a CheckBox Dropdown list control in asp.net i have seen the Jquery control provided in
http://dropdown-check-list.googlecode.com/svn/trunk/doc/dropdownchecklist.html but i also need Hierarchy in that control
*Animal
*Vertiberates
*Aunts
*Plants
*Fungi
Is there any control other than this which can provide this functionality

When I was working on similar requirement, I have used "Popupcontrol" from Ajax Toolkit.
Here is more info http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/PopupControl/PopupControl.aspx
Basically, you can create a panel, add all your controls (for example a treeview in your case) and put a textbox which would invoke the panel using the Popupcontrol extender.

I don't know of a control but you can get most of that functionality with a div with a scroll bar. like this.
<div style="width:75;height:75;overflow:auto">
<input type =checkbox ">a<br>
<input type =checkbox ">b<br>
<input type =checkbox ">c<br>
<input type =checkbox ">d<br>
<input type =checkbox ">e<br>
<input type =checkbox ">f<br>
</div>

Related

controlling how ASP.NET renders radio button lists in HTML

When I add ListItems to a RadioButtonList in code-behind, the labels are rendered after the input and placed inside a TD by ASP.NET.
<td>
<input type='radio' id='site123' name='groupname' value='123' />
<label for = 'site123'>this is a long label that wraps</label>
</td>
Is there a way to control how ASP.NET renders the markup, either selectively or globally? I'd like to have the input inside the label:
<label><input .... /> </label>
You can use a Control Adapter. They allow you to override the html rendering of any ASP.Net control. Aside from the link, I have a simple example in another question here:
Dropdownlist control with <optgroup>s for asp.net (webforms)?
Since you asked about doing this selectively, you would need to inherit a control from RadioButtonList, and then attach your control adapter to the inherited control, instead of RadioButtonList itself.

How to take the value from an html input control and insert into sql database

I am working with asp.net controls(textboxes), but only for the calendar control I am using jquery code(because it has a good UI) that has html <input type="text" id="datepicker">
Now, I want to insert the value of this input field into the database.
With asp.net controls,it is easily possible using cmd.Parameters.AddWithValue("#MemberId", txtMemberId.Text); But I am stuck with the html input control, Please help me out. Thank you.
You can use runat = "server" for your HTML control or you can alternatively use a hiddenfield to store the selected data and this hidden field value can be accessed in your code. You'll have to assign the value of datepicker.text to the hidden field through javascript.
You can access the hidden field value in code as hdnDate.Value
The link here will help you understand when to use runat="server" on normal HTML controls.
You should be able to access the control by doing this:
<input type="text" id="datepicker" runat = "server">

If tab button pushed, it moves through controls left to right. Is there a way to force the movement of tab button pushed?

I have a table with controls (e.g. textbox) in it.
If I hit the tab button I expect it to move to the next control.
I have 3 columns in the table with textboxes.
If I hit the tab button it moves to the next control to the right.
Is there a way to set that it goes through the first column vertically going down and then to the next column vertically down and finally the last column?
You can set the tabindex property of a form control to set the order they are tabbed through.
Here is a simple JSFiddle example
<div id='left'>
<input type='text' tabindex=1 /><br>
<input type='text' tabindex=2 />
</div>
<div id='right'>
<input type='text' tabindex=3 /><br>
<input type='text' tabindex=4 />
</div>
<div style='clear:left'></div>
You can set this with the TabIndex property on the ASP controls. If you want to do this on something that isn't an ASP control, you could also try something like the jQuery tabIndex plugin.
How about taking advantage of the TabIndex property?
Here's some reading on this topic: Tab Order, Focus, and Access Keys in ASP.NET Web Server Controls

Adding custom attributes to asp.NET RadioButton control

I want to add a custom attribute to an asp.net RadioButton called Key which I'm using client-side for an ajax request.
What I'm finding is that my aspx markup which is the following:
<asp:RadioButton ID="rdoPost" GroupName=PreferredContactMethod" value="Post" onclick="DoStuff(this)" runat="server" />
gets rendered in the page as
<span Key="ContactMethod">
<input id="rdoPost" type="radio" name="PreferredContactMethod"" value="Post" onclick="DoStuff(this);" />
</span>
whereas I'd expected (and hoped) to get the following
<input id="rdoPost" type="radio" Key="ContactMethod" name="PreferredContactMethod"" value="Post" onclick="DoStuff(this);" />
I've tried the same thing with an asp TextBox control and it works exactly as I'd expect simply adding the Key="myKey" attribute to the <input type="text"/> element.
Is there a way around this with the standard RadioButton control, or will I have to inherit from the standard one to achieve the markup I'm wanting?
Also... (sorry to ask two questions at the same time), is adding non-standard attributes to html markup a bad idea anyway? Currently I'm using these attributes in JavaScript in the following way:
var key = rdoPost.Key;
I've found from the question/answer below that the easiest way to do this is via the code-behind using the InputAttributes property as follows:
rdoPost.InputAttributes.Add("class", "myCheckBoxClass");
Why does ASP.Net RadioButton and CheckBox render inside a Span?

ASP.NET form validation - highlight fields with JS/DHTML

I have an issue that's been bugging me this morning. I'm building an ASP.NET webforms app that has many input forms and I'm trying to standardise how I manage validation. I would like to use the built-in validators (RequiredFieldValidator, Regex etc). My html requirements are:
Before validation:
<div class="formLine">
<label for="fieldID">Form Label</label>
<input type="text" id="fieldID" />
</div>
After validation (in case of error):
<div class="formLine formError">
<label for="fieldID">Form Label</label>
<input type="text" id="fieldID" />
<span class="errorMessage">Please enter some value</span>
</div>
The additional span is fine, this is achieved with the ASP.NET validation controls. My problem is adding the formError class to the containing <div>.
I'm comfortable using jQuery/DHTML to add this class, but just don't know where to hook it in. Is it possible to monitor DOM changes with jQuery - for example fire an event handler whenever a span is added as a child of <div class="formLine">?
Does anyone else have any good suggestions for dealing with this?
Thanks for reading.
EDIT: After clarification
You could write a custom function that is called by the onClick client side event. Because you are using ASP.Net validation controls you should be able to call the function ValidatorValidate(val) where val is the validator. You could then check the contents of the validators SPAN tag for your validation error and update your div tag accordingly.
Note: I'm no expert on client side validation but this should work in principal.
Further info on MSDN.
You need to declare your div as runat="server" with an id tag so you can reference it in server side code then in page load do a test for Page.IsValid which will return false if one of your validators fails to vaildate.
You can then set the class property on your div programatically. Something like:
<div class="formLine" id="divForm" runat="server">
<label for="fieldID">Form Label</label>
<input type="text" id="fieldID" />
</div>
Code-Behind (VB)
If Not Page.IsValid Then
divForm.Attributes.Remove("class")
divForm.Attributes.Add("class", "formLine formError")
End If
i'm assuming you're looking for a way to do this on the client side, without postback.
when you use asp.net validation controls on your webform you'll notice that a script reference to WebUIValidation.js is rendered on your page. peeking into that file offers some useful info. there's a global variable in that file named Page_IsValid. whenever validation fails, that variable is set to false.
EDIT: the WebUIValidation.js script reference was prior to .net 2.0, so you can't look at that file anymore. however, the Page_IsValid variable is still there and can be used by hooking into a form submit handler. something like this
// verified that this works
$(document).ready(function() {
$('#form1').bind('submit', function(e) {
if (!Page_IsValid)
$('#yourDiv').addClass('error');
});
});

Resources