###前提・実現したいこと
textbox2つとbutton1つを設置し、
button(コピー)を押すと、
textboxとbuttonがコピーされたものを
コピーボタンを押すごとに1行追加したいです。
###発生している問題・エラーメッセージ
コピーがうまくいかないです。 Buttonのクリックイベントが必要だと思うのですが、Viewの方に書けばいいのか、Controllerに書けばいいのかわかりません。 また、ActionResultとの兼ね合いで、余計にclickイベントをどこに書いたらいいかわかりません。
###CopyController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Collections; using System.Web.UI.WebControls; namespace MvcPractice03.Controllers { public class CopyController : Controller { public ActionResult Copy(TextBox TextBox3, TextBox TextBox4, PlaceHolder PlaceHolder1) { Account original = new Account(); Account copy = new Account(); original.txt03 = TextBox3; original.txt04 = TextBox4; original.ph01 = PlaceHolder1; copy= original.Clone(); copy.txt03 = new TextBox(); copy.txt04 = new TextBox(); copy.ph01 = new PlaceHolder(); //PlaceHolder1をまるまるコピー return View(); } } //コピーするのみ public class Account { //宣言のみ public TextBox txt03; public TextBox txt04; public PlaceHolder ph01; //コントロールをViewからオブジェクトとしてもらってきた。 public Account Clone() { //PlaceHolder1をまるまるコピー return (Account)MemberwiseClone(); } } }
###Copy.aspx
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title><%=Html.Encode(ViewData["msg"])%></title> </head> <body> <form id="form1" runat="server"> <div> <%=Html.Encode(ViewData["msg"])%> <asp:PlaceHolder ID="PlaceHolder1" runat="server"> <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>  <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>  <asp:Button ID="Button1" runat="server" Text="コピー" onclick="BtnCopy_Click()" /> </asp:PlaceHolder> <br /> <%=Html.Encode(ViewData["id"])%> </div> </form> </body> </html>
###試したこと
textboxのインスタンス化、buttonのインスタンス化
Accountオブジェクトのクローン化
###補足情報(言語/FW/ツール等のバージョンなど)
C#,asp.net MVC
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。