.Net 核心,在函数中使用 <Select> 不起作用
.Net core, use of <Select> in function not working
在 .cshtml 页面中,我创建了以下方法
@functions
{
public string GenerateSelect()
{
<select>
<option value="0">Ignore</option>
<option value="-1"></option>
</select>
return "";
}
}
尝试使用 like
<td class="borderLeft">
@GenerateSelect()
</td>
但代码甚至没有编译并给出错误
错误
严重性代码说明项目文件行抑制状态
错误 MVC1006 该方法包含一个 TagHelper,因此必须是异步的并且 return 一个任务。例如,使用 ~/ 通常会导致 TagHelper 并需要异步任务 returning 父方法。
如果我们使用其他简单的 html 标记,那么 GenerateSelect() 方法可以正常工作,例如
public string GenerateSelect()
{
<div>
hello
</div>
return "";
}
可能是什么问题?
尝试按照建议使其异步?
@functions
{
public Task GenerateSelect()
{
<select>
<option value="0">Ignore</option>
<option value="-1"></option>
</select>
}
}
因为您的 select 选项包含将被视为 html taghelper 的值。所以你应该使用 System.Threading.Tasks.Task
而不是函数方法中的字符串。
更多详情,您可以参考以下代码:
@functions
{
async System.Threading.Tasks.Task GenerateSelect()
{
<select>
<option value="0">Ignore</option>
<option value="-1"></option>
</select>
}
}
@{await GenerateSelect();}
结果:
在 .cshtml 页面中,我创建了以下方法
@functions
{
public string GenerateSelect()
{
<select>
<option value="0">Ignore</option>
<option value="-1"></option>
</select>
return "";
}
}
尝试使用 like
<td class="borderLeft">
@GenerateSelect()
</td>
但代码甚至没有编译并给出错误
错误 严重性代码说明项目文件行抑制状态 错误 MVC1006 该方法包含一个 TagHelper,因此必须是异步的并且 return 一个任务。例如,使用 ~/ 通常会导致 TagHelper 并需要异步任务 returning 父方法。
如果我们使用其他简单的 html 标记,那么 GenerateSelect() 方法可以正常工作,例如
public string GenerateSelect()
{
<div>
hello
</div>
return "";
}
可能是什么问题?
尝试按照建议使其异步?
@functions
{
public Task GenerateSelect()
{
<select>
<option value="0">Ignore</option>
<option value="-1"></option>
</select>
}
}
因为您的 select 选项包含将被视为 html taghelper 的值。所以你应该使用 System.Threading.Tasks.Task
而不是函数方法中的字符串。
更多详情,您可以参考以下代码:
@functions
{
async System.Threading.Tasks.Task GenerateSelect()
{
<select>
<option value="0">Ignore</option>
<option value="-1"></option>
</select>
}
}
@{await GenerateSelect();}
结果: