0

私はいつもつまずくように見える問題を抱えています.ドロップダウンボックスがあり、画像ボタンを使用して「サブアンサー」を作成する調査用の画像ボタン付きのテキストボックスのx数を作成する数を選択できます. 」 回答への回答を得ることができるので、私の質問は、画像ボタンを押して元のテキストボックスの下にテキストボックスを作成する必要があるということです。ここにコードがあります.

for (Int32 i = 1; i <= NumberOfAnwsers; i++)
{
Literal l1 = new Literal();
l1.Text = "<tr><td>Answer " + i + " text.</td><td>";

TextBox tb = new TextBox();
tb.ID = "TextBoxAnswer" + i;
tb.EnableViewState = false;
tb.Width = 300;

Literal l3 = new Literal();
l3.Text = "</td><td>";

Literal l2 = new Literal();
l2.Text = "</td></tr>";

RadColorPicker CPI = new RadColorPicker();
CPI.PaletteModes = PaletteModes.WebPalette;
CPI.ID = "RadColorPicker" + i;
CPI.ShowIcon = true;
CPI.SelectedColor = System.Drawing.Color.Black;

ImageButton IBVideo = new ImageButton();
IBVideo.ID = "IBVideo" + i;
IBVideo.ImageUrl = "/images/video-icon.jpg";
IBVideo.ToolTip = "Add Video";
IBVideo.Height = 20;
IBVideo.Width = 20;

ImageButton IBAdd = new ImageButton();
IBAdd.ID = "IBAdd" + i;
IBAdd.ImageUrl = "/images/add-icon.png";
IBAdd.ToolTip = "Add Sub-Answers";
//IBAdd.OnClientClick = "showDialog(" + i + ");return false;";
IBAdd.Height = 20;
IBAdd.Width = 20;

//Add Textbox

PanelAnswersToQuestions.Controls.Add(l1);
PanelAnswersToQuestions.Controls.Add(tb);
PanelAnswersToQuestions.Controls.Add(l3);
PanelAnswersToQuestions.Controls.Add(CPI);
PanelAnswersToQuestions.Controls.Add(IBVideo);
PanelAnswersToQuestions.Controls.Add(IBAdd);
PanelAnswersToQuestions.Controls.Add(l2);
}

ご覧のとおり、コントロールをパネルに追加しただけなので、ImageBUtton がいつヒットしたかを知る必要があります。Textbox を追加できます。この場合は、複数のテキストボックスを追加できます。

これが明確であることを願っていますが、何らかの理由でそうではないと思います...申し訳ありません。

4

2 に答える 2

0

あなたの質問が正しいかどうかはわかりませんが、ページにコントロールを動的に追加する必要がある場合は、ここで私が言えることです。

コントロールを追加する前に、追加する必要があるコントロールを見つける必要があると思います。コントロールを追加してから、プロパティを割り当てます。

PlaceHolder myPlaceHolder = (PlaceHolder)Page.FindControl("PlaceHolder1");

myPlaceHolder.Controls.Add(myButton);
myButton.Text = "Hello World";

詳細な解説については、http://anyrest.wordpress.com/2010/04/06/dynamically-removing-controls-in-a-parent-page-from-a-child-control/ を参照してください。

于 2010-11-01T21:18:46.077 に答える
0

私はradwindowを追加し、javascriptを介してpartentにデータを送信することをポップアップしました。これにより、新しい問題が発生しました.javascriptでは動的に作成された隠しフィールドを見つけることができない

function OnClientClose(radWindow) {
        var oWnd = $find("<%=RadWindowAddSubAnswer.ClientID%>");
        var SubAnswerValues = oWnd.get_contentFrame().contentWindow.document.forms(0).HiddenFieldSubAnswers.value;
        alert(SubAnswerValues);
        var AnswerID = oWnd.get_contentFrame().contentWindow.document.forms(0).HiddenFieldAnswerID.value;
        alert(AnswerID);
        var HiddenName = "HiddenFieldSubAnswers" + AnswerID;
        alert(HiddenName);
        document.getElementById(HiddenName).value = SubAnswerValues; 
        $get("DivSubAnswers" + AnswerID).innerHTML = SubAnswerValues;
    }

「document.getElementById(HiddenName).value = SubAnswerValues;」$get(HiddenName).value = SubAnswerValues; も試してみました。どちらも機能しないようです。その背後にあるコードに関しては、どちらも null として返されます。HFSubAnswers.ID = "HiddenFieldSubAnswers" + i; HFSubAnswers.Value = "0";

于 2010-11-03T18:11:55.347 に答える