我正在尝试实现一个简短的生物表单,每个用户都可以编辑和更新其生物。基于这样一个事实,即如果用户之前填写过表单,之前的文本或什么都没有,将作为初始文本返回到 Textarea 中。
这是我从键盘获取用户名、在 dbase 中搜索一个值并尝试在用户提交表单之前将其输出到 textarea 的块。
如果您愿意,可以使用一种个人资料记忆。
@{
Validation.RequireField("currentuser");
Validation.Add("bioprint", Validator.StringLength(3000, 0, "Your bio should not exceed 3000 characters"));
var init = "";
var currentuser = Request["currentuser"];
var db = Database.Open("ResearchA");
var cbio = db.QuerySingle("SELECT bios FROM usernamesb WHERE username = @0",currentuser); //get current bio string
if (cbio == null) {init = cbio;} //check if string is NULL
else {init = "Tell us about you...";}
if(IsPost && Validation.IsValid()) {
var userbio = @Request["Bio"];
var insertbio = "UPDATE usernamesb SET bios = @0 WHERE username = @1";
db.Execute(insertbio, userbio, currentuser); //Update database with a new entry.
}
}
这是我在 HTML 块中设置控件的方式:
<input type="text" name="currentuser" id="currentuser" value="@Request.Form["currentuser"]"/>
<textarea name="Bio" rows="10" cols="50" placeholder ="@cbio"></textarea>
但是我没有得到已经存在的字符串输出。
非常感谢小伙伴们的关注!!