想学习如何将这种类型的PHP代码翻译成Razor C#

时间:2012-04-21 00:54:51

标签: c# php razor radio-button webmatrix

我想根据查询结果设置单选按钮,例如我的医疗问卷。医疗问卷调查结果持续了一段时间。

因此,如果用户没有有效的医疗问卷,则将使用空的问卷页面来选择是或否单选按钮。调查问卷的部分编码如下:

<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#??

中执行此操作

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

1 个答案:

答案 0 :(得分: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>