gpt4 book ai didi

c# - 在 SharePoint 应用程序页面 .aspx 上使用模型

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:27 26 4
gpt4 key购买 nike

我在 SharePoint 上工作,使用基本上是 aspx 页面的应用程序页面创建反馈调查表。

我希望通过尽可能模拟 MVC 来做到这一点。我已经在代码隐藏中设置了我的模型:

public List<QuestionViewModel> modelQuestions = new List<QuestionViewModel>();

接下来,我需要根据问题类型(例如单行、多行、单选、多选)显示每个问题和适当的输入。

我让它正确显示了问题:

<fieldset class="what-went-wrong">
<% for (int i = 0; i < modelQuestions.Count; i++) { %>
<p>
<label for="QuestionText">
<% if (modelQuestions[i].Required) { %>
<span class="req-field indicator">*</span>
<% } %>
<%= modelQuestions[i].QuestionText %>
<% if (modelQuestions[i].Required) { %>
<span class="req-field right">* Required field</span>
<% } %>
</label>
</p>
<% } %>
</fieldset>

这给了我问题文本。我现在正在尝试构建适当的输入,但是这个 <% %>标签不适用于此:

<% if(modelQuestions[i].QuestionTypeId == QuestionType.SingleLine) { %>
<input id="modelQuestions_<% i %>" name="modelQuestions[<% i %>]" type="text" placeholder="<% modelQuestions[i].Placeholder %>" />
<% } %>

我似乎无法使用模型中的详细信息(在 id、名称、占位符等的值中)构造 html 元素

此外,我不知道如何在到达那个点时将其发回服务器。

继续下去有什么好处吗?是否有其他控件/方法更适合在这种情况下与 aspx 一起使用?

最佳答案

您不能像这样生成 HTML 标记。连data-binding expressions不会有帮助,因为它们绑定(bind) ASP.NET 控件的属性值,而不是页面中的纯输出 HTML。

您应该在 "code behind" 中生成标记,像这样:

页面标记:

<div id='AnswersPanel'>
<div>

后面的页面代码:

protected void PageLoad(...)
{
AnswersPanel.InnerHtml = "";
AnswersPanel.InnerHtml += string.Format("<input id='modelQuestions_{0}' name='modelQuestions[{0}]' type='text' placeholder='{1}' />",
i.ToString(),
modelQuestions[i].Placeholder);
}

关于c# - 在 SharePoint 应用程序页面 .aspx 上使用模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com