Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Razor不以html格式显示特殊字符_Html_Asp.net Mvc_Razor - Fatal编程技术网

如何使Razor不以html格式显示特殊字符

如何使Razor不以html格式显示特殊字符,html,asp.net-mvc,razor,Html,Asp.net Mvc,Razor,我正在处理的页面在只读输入框中显示数据库中的内容。我的问题是它将任何特殊字符显示为html代码(即:&显示为&)。如何使代码正确显示 我正在使用QuerySingle连接数据库,不知道这是否有区别。我不习惯用剃须刀。非常感谢您的帮助 有关守则: var queryloan = "SELECT * FROM loans WHERE LoanId = @0"; var queryloandata = db.QuerySingle(queryloan, queryformstatus_submitte

我正在处理的页面在只读输入框中显示数据库中的内容。我的问题是它将任何特殊字符显示为html代码(即:&显示为&)。如何使代码正确显示

我正在使用QuerySingle连接数据库,不知道这是否有区别。我不习惯用剃须刀。非常感谢您的帮助

有关守则:

var queryloan = "SELECT * FROM loans WHERE LoanId = @0";
var queryloandata = db.QuerySingle(queryloan, queryformstatus_submitted.doc_loanid);
<form class="jotform-form" action="submit-form.cshtml?isadmin=@(isadmin)&loanid=@(loanid)" method="post" name="form_30905105572145" id="30905105572145" accept-charset="utf-8">
<input type="hidden" name="formID" value="30905105572145" />
<input type="hidden" name="doc_id" value="@doc_id" />
<div class="form-all">
    <ul class="form-section">
        <li id="cid_3" class="form-input-wide">
            <div class="form-header-group">
                <h2 id="header_3" class="form-header">
                    Borrower Sources & Uses Summary
                </h2>
                    @if (queryformstatus_submitted.doc_approval == "Pending Approval" || queryformstatus_submitted.doc_approval == "Approved")
                    {
                        <text><br />
                        <br />
                        <div class="error">
                            This form has already been submitted and cannot be edited. It is for reference only.</div></text>
                    }
                    @if(userid != queryformstatus_submitted.doc_userid){
                    <text><br/><br/><div class="error">You may not edit this form. It is for reference only.</div></text>
              }

            </div>
        </li>
        <li class="form-line" id="id_4">
            <label class="form-label-left" id="label_4" for="input_4">
                1. Property Name: 
            </label>
            <div id="cid_4" class="form-input">

            <input type="text" class=" form-textbox" id="input_4" name="q4_1Property" size="40" value="@Helpers.checkEmptyPreFill(queryinputvalue,"q4_1Property",queryloandata.LoanName)"/>
            </div>
        </li>
var querylan=“从贷款中选择*,其中LoanId=@0”;
var querylandata=db.QuerySingle(querylan,queryformstatus_submitted.doc_loanid);
  • 借款人来源及用途摘要 @如果(queryformstatus_submitted.doc_approval==“待定批准”| | queryformstatus_submitted.doc_approval==“已批准”) {

    此表单已提交,无法编辑,仅供参考。 } @if(userid!=queryformstatus\u submitted.doc\u userid){

    您不能编辑此表格。此表格仅供参考。 }
  • 1.物业名称:
我不确定,但我相信可能是这个helper函数中的某些东西导致了html代码:

@helper checkEmptyPreFill(IEnumerable<dynamic> queryinputvalue, string field_id, string defaultval, int cloned = 0) {  

var reqValue = queryinputvalue.FirstOrDefault(r => r.field_name.Equals(field_id));
var return_value = "";
if(reqValue != null){
    return_value = reqValue.field_data;
} else {
    return_value = defaultval;
}

if(cloned == 1){
    return_value = "";
}

@return_value
@helper checkEmptyPreFill(IEnumerable queryinputvalue,字符串字段_id,字符串defaultval,int cloned=0){
var reqValue=queryinputvalue.FirstOrDefault(r=>r.field_name.Equals(field_id));
var返回_值=”;
如果(reqValue!=null){
返回值=reqValue.field\u数据;
}否则{
返回值=默认值;
}
如果(克隆==1){
返回_值=”;
}
@返回值

}

razor助手返回一个
HelperResult
对象,因此您必须先将其转换为字符串,然后才能对其调用
HtmlDecode
。替换:

@Helpers.checkEmptyPreFill(queryinputvalue,"q4_1Property",queryloandata.LoanName)
以下是:

@HttpUtility.HtmlDecode(Helpers.checkEmptyPreFill(queryinputvalue,"q4_1Property",queryloandata.LoanName).ToString())

我还建议您将一些逻辑和数据访问代码从视图中移到控制器中,但这将为您提供所需的结果。

我假设您希望显示&;作为&。你试过使用吗?是的,我试过HTMLDE代码。我在输入值(即:WebUtility.HtmlDecode(querylandata.LoanName))中的变量周围尝试过它,但它没有做任何事情。有什么我遗漏的吗?我只是试图在错误的位置解码它吗?我让它像这样工作
where
var htmlEncodedString=“Tom&;Jerry”