[英]How to call a UserControls CodeBehind method from Jquery in ASP.NET?
[英]save values from 2 or more UserControls in asp.net?
我正在快速调查项目中工作!!
我没有时间设计数据库,所有这些东西,我只有一张桌子,我必须填写答案,我必须在两天内完成。
问题是我有50多个问题,我将它们分为3组,将每个问题组放入“用户控件”中,并且我试图保存每个用户控件中的值。
我想在每个用户控件之后临时保存主题,并且当用户到达最后一个用户控件并单击“完成”按钮时,它应该一次保存所有答案。
有什么想法吗? 我正在考虑使用全局文件之类的东西!
但是我不管它是否有效,但我现在正在研究它,我希望从你们那里找到任何想法。
您可以临时保存会话:
var survey = new Survey();
Survey.Name = textBoxName.Text;
Session["answer"] = survey.
然后,以后可以使用所有形式使用:
var survey = Session["answer"] as Survey;
if (survey == null)
//error, redirect to start
其中Survey class是class,其中包含所有调查信息。
其他例子
//Form1, question 1
List<string> survey = new List<string>();
survey.Add(textBox1.Text);
Session["survey"] = survey;
//Form2, question2
var survey = Session["survey"] as List<string>;
survey.Add(textBox1.Text);
//Form...n... final save
var survey = Session["survey"] as List<string>;
for(int i=0; i< survey.Count;i++)
{
SaveAnswer("someId", i, survey(i));
}
这是一个解决方案
如果你想用一个组的每个页面上最多三个问题来显示页面,则变得稍微复杂一些。 然后将使用插入的groupID来引用问题页面。
如果您只有2天的实施时间,那么我一定会选择简单的每页一个问题的解决方案。
通过UserControl公共属性可以轻松解决此问题。
这是我要解决的方法:
// this dictionary will eventually be serialized and kept in session
// throughout the whole Q&A session
var questionsAndAnswers = new Dictionary();
foreach(var control in MyUserControls)
{
questionsAndAnswers.Add(control.Question, control.Answer);
}
this.Session["q&a"] = questionsAndAnswers;
像这样的事情应该做的工作。
这里的重点是强调通过子控件的公开属性获取所需的信息(相同的概念可以应用于代码中的任何父/子级别)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.