我有以下代码显示一个地址,但它似乎没有将每个地址行放在一个新行上,并且无法找出原因
var selectedOrigoScheme = origoCedingSchemes.Where(x => x.complyingFundId.ToString() == SelectedSchemeId).ToList();
string origoName = !String.IsNullOrEmpty(selectedOrigoScheme[0].origoName) ? selectedOrigoScheme[0].origoName + Environment.NewLine : "";
string propertyName = !String.IsNullOrEmpty(selectedOrigoScheme[0].propertyName) ? selectedOrigoScheme[0].propertyName + Environment.NewLine : "";
string streetNumber = !String.IsNullOrEmpty(selectedOrigoScheme[0].streetNumber) ? selectedOrigoScheme[0].streetNumber + Environment.NewLine : "";
string street = !String.IsNullOrEmpty(selectedOrigoScheme[0].street) ? selectedOrigoScheme[0].street + Environment.NewLine : "";
string street2 = !String.IsNullOrEmpty(selectedOrigoScheme[0].street2) ? selectedOrigoScheme[0].street2 + Environment.NewLine : "";
string suburb = !String.IsNullOrEmpty(selectedOrigoScheme[0].suburb) ? selectedOrigoScheme[0].suburb + Environment.NewLine : "";
string district = !String.IsNullOrEmpty(selectedOrigoScheme[0].district) ? selectedOrigoScheme[0].district + Environment.NewLine : "";
string postcode = !String.IsNullOrEmpty(selectedOrigoScheme[0].postcode) ? selectedOrigoScheme[0].postcode + Environment.NewLine : "";
string Origoaddress = origoName + propertyName + streetNumber + street + street2 + suburb + district + postcode;
viewData["Origoaddress"] = Origoaddress;
当我调试时,我得到以下结果:
Aviva \ r \ nNorwich Business Capture Center \ r \ nPO Box 520 \ r \ nNorwich \ r \ nNR1 3WG \ r \ n
如果我在文本可视化工具中查看结果,它会正确显示:
英杰
Norwich Business Capture Center
邮政信箱520
诺维奇
NR1 3WG
但如果我使用HTML visualizer查看它,它会显示为:
它在我的网站上的地址栏中的显示方式。
由于我无法看到这个问题,我做错了什么。
HTML
<%=Html.TextBox("Origoaddress", ViewData["Origoaddress"].ToString())%>
答案 0 :(得分:1)
Html忽略空格,因此忽略了您添加的换行符。如果您使用的是纯HTML,那么您需要使用&lt; BR取代。 Html.TextBox仅支持单行字符串,因此不会添加Html会理解的换行符。
为了使用多行,您可能需要使用TextArea。见creating multiline textbox using Html.Helper function 有关详细信息。