c# - 检查 C# 中的空值 - Webmatrix

标签 c# asp.net razor webmatrix

我正在填充一个输入字段值,有时该值存在,有时不存在,我需要检查该值是否为空,如果不是,则不显示任何内容。我当前的代码正在使用 .IsNullOrEmpty :

<input id="lead-entry" class="form-textbox" type="text" size="5" name="q15_2013Collections[0][]" 
 value="@(queryinputvalue.FirstOrDefault(r => r.field_name.Equals("q15_2013Collections[0][]")).field_data.IsNullOrEmpty 
       ? "" 
       : queryinputvalue.FirstOrDefault(r =>  r.field_name.Equals("q15_2013Collections[0][]")).field_data) " />

这给了我错误:

Exception Details: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot perform runtime binding on a null reference

谢谢

编辑:这是我最终使用的代码:

Helpers.cshtml

@helper checkEmpty(IEnumerable<dynamic> queryinputvalue, string field_id) {    
    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 = "";
        }
    @return_value
}

在页面上

@{
IEnumerable<dynamic> queryinputvalue = db.Query("SELECT * FROM document_data WHERE doc_id = @0", doc_id);
}

<input type="text" class=" form-textbox" id="input_4" name="q4_arborLoan" size="20" value="@Helpers.checkEmpty(queryinputvalue,"q4_arborLoan")" />

最佳答案

为什么要在 View 中执行此操作?在填充 ViewModel 时,您必须检查 Controller 中的这些条件,如下所示:

public class ViewModel
{
  public string QueryValue {get ; set;}
}

在您的 Controller 方法中,您只需填充此模型并将其返回到 View 页面。

public ActionResult MyMethod()
{
    ViewModel model = new ViewModel();
    //Get someValue from anywhere.
    string reqValue = someValue.FirstOrDefault(r => r.field_name.Equals("q15_2013Collections[0][]"));
    string queryValue = string.Empty();
    if(queryValues != null)
    {
       queryValue = string.IsNullOrEmpty(reqValue .field_data)
                  ? ""
                  : reqValue .field_data;
    }
    model.QueryValue = queryValue ;               
    return View(model);
}

因此,您的 View 将简单地变成

@model ViewModel

<input id="lead-entry" class="form-textbox" type="text" size="5" name="q15_2013Collections[0][]" value="@Model.QueryValue" />

关于c# - 检查 C# 中的空值 - Webmatrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17218951/

相关文章:

c# - 以编程方式,需要执行哪些操作才能在 SAP 调用中使用 X.509 客户端证书?

c# - 目录 : giving full control in C#

javascript - ModalPopupExtender setfocus 问题

c# - 如果为 null,则 Eval() 显示自定义值

visual-studio - 在 Razor 中禁用 Visual Studio 代码格式设置

c# - 如何将 HTMLAttributes 传播到自定义 EditorTemplate?

c# - 如何将 Razor 页面下拉列表中的选定值返回到 C# 变量?

c# - 使用 C# .NET 中的 XDocument 库删除内部节点,但不删除 xml 中的值

c# - WPF BIND 通过位图资源动态绑定(bind)图像

c# - Entity Framework FK 错误