Как добавить тег формы и класса в asp.net в ascx control - PullRequest
0 голосов
/ 03 июля 2018

Это мой контроль

<asp:Panel runat="server">    
    <input type="hidden" id="signature" name="signature" value="" />
    <input type="hidden" id="uniqueuserid" name="uniqueuserid" value="" />
    <input type="hidden" id="locale" name="locale" value="" />
    <input type="hidden" id="customproduct" name="customproduct" value="" />
</asp:Panel>

Это моя функция js, которую планируется использовать для создания html-формы.

function submitResponsePaymega(dPayment, dSignature, dId, loc, cProduct, url) {

    var payment = $get('payment_method');
    payment.value = dPayment;

    var key = $get('data-key');
    key.value = dKey;

    var signature = $get('signature');
    signature.value = dSignature;

    var id = $get('uniqueuserid');
    id.value = dId;

    var product = $get('customproduct');
    product.value = cProduct;

    var locale = $get('locale');
    locale.value = loc;

    submitForm(url);
}

А вот и функция submitform

function submitForm(url) {

    var frm = document.forms[0];

    var vs = $('#__VIEWSTATE');
    if (vs) {
        vs.remove();
    }

    var ev = $('#__EVENTVALIDATION');
    if (ev) {
        ev.remove();
    }

    var et = $('#__EVENTTARGET');
    if (et) {
        et.remove();
    }

    var ea = $('#__EVENTARGUMENT');
    if (ea) {
        ea.remove();
    }

    var vg = $('#__VIEWSTATEGENERATOR');
    if (vg) {
        vg.remove();
    }

    frm.action = url;
    frm.submit();
}

Как мне достичь результата, подобного этой генерирующей форме, с атрибутом класса?

<form method="post" action="https://pp.pay.com/">
    <input type="hidden" name="key" value="key">
    <input type="hidden" name="customproduct" value="[{'Id':'1','type':'fixedProduct','name':'Product name','currency':'RUB','amount':100}]">
    <input type="hidden" name="signature" value="signature">
    <button type='submit'>Pay</button>
</form>

Обратите внимание, что я совершенно не знаком с веб-формами, мигрирующими с mvc

1 Ответ

0 голосов
/ 03 июля 2018

Чтобы получить тег формы, мы должны создать страницу / веб-форму. Зарегистрируйте элемент управления на странице и используйте его. Таким образом, мы можем достичь того, что вам действительно нужно.

Пожалуйста, найдите код ниже. Я надеюсь, что это то, что вы ожидаете.

Код контроля пользователя

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication2.WebUserControl1" %>
<asp:Panel runat="server" ID="UserControl">    
    <input type="hidden" id="signature" name="signature" value="" />
    <input type="hidden" id="uniqueuserid" name="uniqueuserid" value="" />
    <input type="hidden" id="locale" name="locale" value="" />
    <input type="hidden" id="customproduct" name="customproduct" value="" />
</asp:Panel>

Код веб-формы:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>
<%@ Register TagPrefix="tc" TagName="TestControl" Src="~/WebUserControl1.ascx"%>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head> 
<body>
    <form id="form1" runat="server">
        <tc:TestControl runat="server"></tc:TestControl>
        <input type="hidden" name="key" value="key"/>
        <input type="hidden" name="customproduct" value="[{'Id':'1','type':'fixedProduct','name':'Product name','currency':'RUB','amount':100}]"/>
        <input type="hidden" name="signature" value="signature"/>
        <button type='submit'>Pay</button>
    </form>
</body>
</html>

Вы можете добавить код javascript на страницу для логики отправки.

Обратите внимание, что это всего лишь пример кода, чтобы показать, как мы можем достичь.

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