以编程方式将文本加载到文本框c#mvc中

时间:2012-07-04 14:07:08

标签: c# asp.net-mvc

我是mvc的新手,在正常的asp.net中,我可以在听觉中做到这一点,但我仍然在努力让我的脑袋围绕着mvc!

基本上我没有在这个应用程序中使用DB,它是一个简单的工具,可以修改大量文本并将其输出给用户。

因为文本量太大我希望用户能够通过下载文本文件来保存和加载他们输入的文本。我已经想出如何保存它,但我似乎无法找到一种方法来加载文本。

对于这个例子然而,让我们只使用标准字符串,因为我知道如何解析我的保存文件并将文本放入适当的字符串。我不知道的是如何将这些字符串放入文本框中。没有模型附加到此,因为它未经过验证或存储在服务器上。

View1(我的textareas如何布局)

  <label for="p1s1">Sentance 1:</label>
  <%= Html.TextArea("p1s1", new { @class = "textbox" })%> <p>

最好是创建一个新视图,然后将参数传递给view1吗?我真的卡在这里!

提前致谢

3 个答案:

答案 0 :(得分:1)

创建强类型视图(由您的模型键入) enter image description here

并使用帮助器,如:     Html.TextAreaFor(型号=&GT; model.myProperty)

例如:

class User 
{
(...)
public string Description {get;set;}
}

如果您的视图由User使用:

输入
Html.TextAreaFor(model=>model.Description)

答案 1 :(得分:0)

mvc中的模型不仅适用于您希望将数据保存到数据库甚至将它们存储在服务器上的时间。实际上,建议您创建模型以反映视图的数据需求(称为viewModels),然后根据需要将这些模型链接到您的域模型。因此,我建议您创建一个模型,并将字符串从视图传递到控制器,反之亦然。然后你可以使用@Kamil建议的TextArea助手来显示模型。

答案 2 :(得分:0)

检查一下:

<强>控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        //do your text magix
        return View("Index", model: "your text here");
    }
}

查看:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<String>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <title>Index</title>
</head>
<body>
    <div>
        <label for="p1s1">Sentence 1:</label>
        <%= Html.TextArea("p1s1", Model, new { @class = "textbox" })%>
    </div>
</body>
</html>

希望这会有所帮助。否则,现在就说吧。 问候。