Доступ к элементам, созданным Javascript - в коде позади в MVC 3 - PullRequest
0 голосов
/ 25 мая 2011

В моем cshtml я определил тег

Я создаю форму загрузки изображения, где при отправке файла я сохраняю значение во временной таблице (SQL) и возвращаю (GUID) значение через вызов Ajax и связываю GUID внутри динамически создаваемого тега DIV (Jquery / Javascript)

<div id="dvDisplayImageParent" class="block clear" runat="server">

                </div>

Теперь, используя Javascript, я создаю теги DIV (несколько) (содержащие изображения и текстовое поле) и добавляю их с помощью dvDisplayImageParent.

Я хочу получить доступ к значениям в контроллере

public ActionResult NewProject(ProjectEditViewModel model, String btnSave)
    {// Want to values inside my dvDisplayImageParent }

Как я могу это сделать ??

Мой Javascript выглядит следующим образом: `var img = document.createElement (" IMG "); var lbl = document.createElement ("label"); var chk = document.createElement ('input'); chk.type = 'checkbox';

                                    //Assign image path to display the image
                                    img.src = imgPath;
                                    img.id = imageID;
                                    img.style.height = "100px";
                                    img.style.width = "100px";

                                    //Appending it with Dynamic DIV
                                    dynDiv.appendChild(img);

                                    var input = document.createElement("input");
                                    //input.setAttribute("type", "hidden");
                                    input.setAttribute("type", "text");
                                    input.setAttribute("name", "hdn" + imageID);
                                    input.setAttribute("value", imageID);


                                    //Image Link
                                    var aElemImageLink = document.createElement('a');
                                    //Move Up Link
                                    var aElemUpLink = document.createElement('a');
                                    //Move Down Link
                                    var aElemDownLink = document.createElement('a');

                                    var callOnImageclick = "DeleteImage('" + imageID + "','" + divDynamicID + "'); return false; ";
                                    aElemImageLink.setAttribute("onclick", callOnImageclick);
                                    aElemImageLink.childNodes = imageID;
                                    var callOnMoveUpclick = "MoveImageUP('" + imageID + "','" + divDynamicID + "'); return false; ";
                                    aElemUpLink.setAttribute("onclick", callOnMoveUpclick);
                                    var callOnMoveDownclick = "MoveImageDOWN('" + imageID + "','" + divDynamicID + "'); return false; ";
                                    aElemDownLink.setAttribute("onclick", callOnMoveDownclick);

                                    //Create a text node to hold the text of the <a>
                                    var aElemTN = document.createTextNode('     Delete Image           ');
                                    //Create a text node to hold the text of the <a>
                                    var aElemTNUp = document.createTextNode('     Move UP               ');
                                    //Create a text node to hold the text of the <a>
                                    var aElemTNDown = document.createTextNode('     Move DOWN           ');

                                    //Append the <a> text node to the <a> element
                                    aElemImageLink.appendChild(aElemTN);
                                    aElemUpLink.appendChild(aElemTNUp);
                                    aElemDownLink.appendChild(aElemTNDown);

                                    //Append the new link to the existing <div>
                                    dynDiv.appendChild(aElemImageLink);
                                    dynDiv.appendChild(aElemUpLink);
                                    dynDiv.appendChild(aElemDownLink);


                                    lbl.id = "lbl" + imageID;
                                    var aElemTNTag = document.createTextNode('    Taggar          ');
                                    var aElemTNWantsToshare = document.createTextNode('    Dela?         ');

                                    var txtTag = document.createElement("input");
                                    txtTag.id = "txt" + imageID;
                                    txtTag.setAttribute('name', 'Tag');
                                    dynDiv.appendChild(lbl);
                                    dynDiv.appendChild(aElemTNTag);
                                    dynDiv.appendChild(txtTag);
                                    dynDiv.appendChild(chk);
                                    dynDiv.appendChild(aElemTNWantsToshare);
                                    dynDiv.appendChild(input);

                                    //Appending Dynamic DIV with Parent DIV
                                    var parentDiv = document.getElementById("dvDisplayImageParent");
                                    parentDiv.appendChild(dynDiv);`

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Я получил одну альтернативу : -

string NoOfImages = Convert.ToString(Request.Form["Your Control Name Which You Want To Access"]);

Теперь, используя Request.Form[], можно получить значение значения внутри элемента управления, созданного с помощью JAVASCRIPT.все еще жду лучшего решения.

> Помощь продолжается ...

0 голосов
/ 25 мая 2011

Нет кода runat или за в mvc.Вы не можете получить доступ к любым элементам из контроллера.Я бы посоветовал посмотреть некоторые из этих видео.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...