0

我想设置基于查询结果检查的单选按钮,例如在我的情况下它是一份医疗问卷。一份医疗问卷的结果会持续很长时间。

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

<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# 中做到这一点?

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

4

1 回答 1

0

您可以使用 ViewBag 和 @Html.Raw() 辅助方法进行类似的操作。

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

在 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>
于 2012-04-21T01:08:22.707 回答