Вы можете легко объявить JavaScript для запуска на клиенте с помощью
ScriptManager.RegisterStartupScript(this, this.GetType(), "launchpage", "
function javascriptfn() {
var strValue= 'test';
return strValue;
}
document.getElementById('"+HiddenField1.ClientID+"').value = javascriptfn();
document.getElementById('"+saveProgressButton.ClientID+"').click();
", true);
примечание: Я разделил вне JavaScript из на несколько строк, чтобы сделать его более удобным для чтения, но все это должно быть на одной линии.
Вашей проблема приходит со второй частью вопроса, посылая данные обратно, то, скорее всего, потребуется постбэк (частичного или полного или обрабатывать его с помощью AJAX.
Я хотел бы добавить UpdatePanel с осиной скрытой и скрытая кнопка, чтобы вызвать его, заполнить значение скрытого поля с тем, что эта функция для имела бы некоторый код в код позади, чтобы захватить событие.
<asp:UpdatePanel ID="responcetable" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Button ID="saveProgressButton" runat="server" Text="Button" CssClass="displaynone" />
</ContentTemplate>
<Triggers><asp:AsyncPostBackTrigger ControlID="saveProgressButton" EventName="theeventtodealwiththis" /></Triggers>
</asp:UpdatePanel>
и на ServerSide
protected void theeventtodealwiththis(object sender, EventArgs e)
{
// some logic to handle the value returned
}
Вы спрашиваете, как разбирать HTML, извлекать JS и выполнять его на стороне сервера ... или как заставить браузер выполнять JS и передать результат на сервер? – Quentin
@Quentin абсолютно! –
- Это был либо вопрос, либо вопрос. Что он? – Quentin