У меня есть это выпадающее меню, которое я заполняю значениями из БД. Я совмещая несколько значений и пытаюсь выровнять их:MVC DropDownListFor не показывает пробелы, добавленные к значениям в списке
foreach (DataRow dr in dt.Rows)
{
string loc = dr.IsNull("STATEGEOG_LOC_NAME") ? "" : dr["STATEGEOG_LOC_NAME"].ToString();
if (loc.Length < maxloc)
loc = SetStringLength(loc, maxloc);
string name = dr.IsNull("NAME") ? "" : dr["NAME"].ToString();
if (name.Length < maxname)
name = SetStringLength(name, maxname);
string mtf = dr.IsNull("MTF_CODE") ? "" : dr["MTF_CODE"].ToString();
if (mtf.Length < maxmtf)
mtf = SetStringLength(mtf, maxmtf);
TextValuePair model = new TextValuePair()
{
Value = dr.IsNull("IEN") ? "" : dr["IEN"].ToString(),
Text = loc + " " + name + " " + mtf
};
countries.Add(model);
}
private static string SetStringLength(string input, int len)
{
return input.PadRight(len, ' ');
}
Значение сравнивает просто найти самую длинную из значений в БД и блокнот текущее значения с пробелами, чтобы сделать это, чем длинная. Я вижу каждую строку, как это:
"MARYLAND 10 CSH (FT MEADE MD) A11B1 "
я отправляю его к виду с этим:
[HttpGet]
public ActionResult GetAllGeoLocations()
{
return Json(Repository.GetGeoLocationList(), JsonRequestBehavior.AllowGet);
}
И загружается в DDL, как это:
$.ajax({
type: 'GET',
dataType: 'json',
url: '@Url.Action("GetAllGeoLocations")',
success: function (data) {
$("#ddlLocation").empty();
$.each(data, function (Value, Text) {
var opt = '<option value=' + Text.Value + '>' + Text.Text + '</option>';
$("#ddlLocation").append(opt);
});
}
});
И каждое значение Я проверяю, когда я отлаживаю страницу, показывает правильное заполнение. Но когда выпадающее меню нажата, отступы удаляются. Может ли кто-нибудь сказать мне, почему?
Когда я использовать отладчик на странице я вижу значения загрузки в DDL, как это:
"<option value=6005>VIRGINIA 1 DENTAL SQ/SGD F1783 </option>"
Но выпадающий показать это:
Что такое 'maxLoc'? попробуйте '& nbsp' добавить пространство. – mmushtaq