想了解如何将这种类型的 php 代码转换为 Razor C#


Would like to learn how can i translate this type php code to Razor C#

我想设置根据查询结果检查的单选按钮,例如在我的情况下,这是一份医疗问卷。医疗问卷结果持续相当长的时间。

因此,如果用户没有有效的医疗问卷,则使用将被定向到一个空的问卷页面,以选择"是"或"否"单选按钮。问卷的部分编码如下所示:

<tr>
<td width="33">1.</td>
<td width="491">Heart or circulatory problems including: high blood pressure, heart attack, angina, heart murmur, heart failure, palpitations, circulatory problemseg. whitefinger, blocked arteries, stroke aneurysm.</td>
<td width="68"><input name="medq1" id="yes" type="radio" value="yes" onclick="displayTextBox()" /><label for="yes"> Yes </label></td>
<td width="78"><input name="medq1" id="no" type="radio" value="no" onclick="displayTextBox()"/><label for="no"> No </label></td>

有 20 个问题,但我不会全部发布,因为它会令人困惑。

但是,如果用户在数据库中存储了有效的医疗问卷,则当他申请许可证时,他将被重定向到相同的问卷页面,但不是空的,而是应根据SQL查询的结果检查"是"和"否"单选按钮。

var sql = "SELECT * FROM Medical WHERE CDSID = @0";
var MedicalResult = db.QuerySingle(sql,myCDSID);
var myQ1 = MedicalResult.Q1;
:
:
:
var myQ20 = MedicalResult.Q20;

所以现在结果存储在变量中,我们可以使用这些变量作为结果来告诉单选按钮必须检查哪个。

但是,我是 Razor C# 的菜鸟初学者,我只知道非常非常少,但仍在学习过程中。我知道PHP中的代码,但不知道Razor C#中的代码

在 php 中,假设我们已经有了 sql 的结果。

<input <?php if ($myQ1 == 'yes'){ echo 'checked="checked"'; } else { } ?> name="medq1" id="yes" type="radio" value="yes" onclick="displayTextBox()" /><label for="yes"> Yes </label>
<input <?php if ($myQ1 == 'no'){ echo 'checked="checked"'; } else { } ?> name="medq1" id="no" type="radio" value="no" onclick="displayTextBox()"/><label for="no"> No </label>

但是如何在 Razor C# 中执行此操作??

提前感谢您的指导。仍在学习过程中。

您可以使用 ViewBag 和 @Html.Raw() 帮助程序方法以类似的方式执行此操作。

// Controller
public ActionResult YourPage()
{
    ViewBag.MedQ1 = // bool value from SQL
    View();
}

In YourPage.cshtml

<input @Html.Raw(ViewBag.MedQ1? "checked": "") name="medq1" id="yes" type="radio" value="yes" onclick="displayTextBox()" /><label for="yes"> Yes </label>
<input @Html.Raw(ViewBag.MedQ1? "": "checked") name="medq1" id="no" type="radio" value="no" onclick="displayTextBox()"/><label for="no"> No </label>