ورود

View Full Version : سوال: چگونگی خواندن محتوا select option در Asp.net



elham01
شنبه 05 اردیبهشت 1394, 17:35 عصر
سلام دوستان
مشکلی برایم پیش آمده در خواندن شهر از select option مربوطه !!!
در این کد وقتی کشور انتخاب شود شهر مورد نظرش را کاربر انتخاب می کند...اما سمت سرور نمی دانم با چه کدی نشونش بدم!!!

با دستور com.Parameters.AddWithValue("@city", state.Items[state.SelectedIndex].Text); فقط آن چیزی که در option پیش فرضش در سمت html هست را نشان می دهد...نه آن چیزی که از سمت جاوا باید خوانده شود!!!!!

فایل را هم ضمیمه می کنم...

امیدوارم کسی کمکم کند!!!!!!!




<html>
<head>


<style>
#contentLYR {
position:absolute;
width:200px;
height:115px;
z-index:1;
left: 200px;
top: 200px;
}
</style>
</head>
<body>
<div id="contentLYR">
</div>
<fieldset style="width: 230px;">
<form name="test" ruanat="server">
<table>
<tr>
Country:
<select name="country" id="country" onchange="setStates();">
<option value="Canada">select cy</option>
<option value="Canada">Canada</option>
<option value="Mexico">Mexico</option>
<option value="United States">United States</option>
</select>

State:
<select name="state" id="state">
<option value="">Please select a Country</option>
</select>
</form>
</fieldset>
<script>
var states = new Array();

states['Canada'] = new Array('Alberta','British Columbia','Ontario');
states['Mexico'] = new Array('Baja California','Chihuahua','Jalisco');
states['United States'] = new Array('California','Florida','New York');


// City lists

function setStates() {
cntrySel = document.getElementById('country');
stateList = states[cntrySel.value];
changeSelect('state', stateList, stateList);
setCities();
}


function changeSelect(fieldID, newOptions, newValues) {
selectField = document.getElementById(fieldID);
selectField.options.length = 0;
for (i=0; i<newOptions.length; i++) {
selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]);
}
}


function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}

addLoadEvent(function() {
setStates();
});

</script>

</body>
</html>

hossein_va
شنبه 05 اردیبهشت 1394, 21:46 عصر
سلام
از <asp:hiddenfield استفاده کن
https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.hiddenfield.value(v=vs.1 10).aspx

http://stackoverflow.com/questions/24250758/setting-a-value-to-a-hiddenfield-in-asp-net-4-5

Mousavmousab
یک شنبه 06 اردیبهشت 1394, 12:22 عصر
سلام

شما باید از DropDown استفاده کنید.

فرض کنیم یک DropDown روی فرم داریم و چند تا آیتم توش هست . کاربر یکی را انتخاب می کنه و روی button کلیم می کنه و شما سمت سرور می خواین متوجه بشین کدام آیتم (شهر ) را انتخاب کرده است ؟

1-) شما باید DropDown را از دیتابیس پر کرده باشید.
به این صورت که 2 تا فیلد از یک Table دارین که یکیش ID و دیگری Title هست.

باید از این دو Property استفاده کنید :

drpCity.DataValueField ="";
drpCity.DataTextField = "";


به این صورت و در نهایت DataSource این Drop Down را پر می کنید.
drpCity.DataSource = A_DATA_Source;
توجه کنید که اسم DropDown را اینجا تغییر داده ام به نام : drpCity

از همین دو ویژگی می توانید وقتی کاربر روی button کلیک کرد متوجه بشین کدام ID را کلیک کرده است.
موفق باشید


آموزش سی شارپ (سایت هولایتی) (http://hoolity.com)