내가 작성이 클래스를 사용하고 올리기 양식 동적으로
public class PassData
{
public static PassData Default = new PassData();
public void Send(string strUrl, Dictionary<string, object> Parameters, string ContainerClientID = "divContainer")
{
var obj = HtmlPage.Document.GetElementById(ContainerClientID);
if (obj != null)
{
HtmlElement divContainer = obj as HtmlElement;
ClearContent((HtmlElement)divContainer);
HtmlElement form = HtmlPage.Document.CreateElement("form");
form.SetAttribute("id", "frmPostData");
form.SetAttribute("name", "frmPostData");
form.SetAttribute("target", "_blank");
form.SetAttribute("method", "POST");
form.SetAttribute("action", strUrl);
if (Parameters != null)
foreach (KeyValuePair<string, object> item in Parameters)
{
HtmlElement hidElement = HtmlPage.Document.CreateElement("input");
hidElement.SetAttribute("name", item.Key);
hidElement.SetAttribute("value", item.Value.ToString());
form.AppendChild(hidElement);
}
divContainer.AppendChild(form);
form.Invoke("submit");
ClearContent((HtmlElement)divContainer);
}
}
private void ClearContent(System.Windows.Browser.HtmlElement obj)
{
foreach (HtmlElement item in obj.Children)
{
obj.RemoveChild(item);
}
}
}
divContainer이 매우 광범위한으로 이어질 수있는 매우 광범위한 질문은
HTML의 DIV의 ID입니다 답변 : 지금까지 달성 한 특정 코드를 게시하고 문제의 구체적인 세부 사항을 좁히는 데 매우 친절하십니까? –
일반적으로 제 3 자 사이트/서비스에 대한 모든 호출은 Silverlight 클라이언트가 아닌 서버에서 시작하는 것이 좋습니다. * 이것에 대한 유일한 예외는 서재응 추적 링크 (SL 클라이언트에서 즉석에서 생성)와 같은 것입니다. –
@Caspar Kleijne : 광범위한 answare에 대한 확인 – lamarmora