Я пытаюсь установить свойство selected радиокнопки с помощью кода, и я получаю действительно странный результат ... Я не могу понять, что я делаю здесь неправильно ...
Когда я выбираю, начинается с и нажимаю кнопку «Go». Я перезагружаю страницу строкой запроса. , Однако, как только страница загружена .. rbStarts не выбран, а выбран rbContains ...
Не уверен, что мне здесь не хватает ...
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<script>
function applyFiltersAndReload() {
var rbVal = "c";
if (document.getElementById("<%=rbStartsWith.ClientID%>").checked) {
rbVal = "s";
}
if (document.getElementById("<%=rbEndsWith.ClientID%>").checked) {
rbVal = "e";
}
parent.location = "Default.aspx?from=1&fType="+rbVal;
}
</script>
<form id="form1" runat="server">
<div>
Hello world.
<span style="font-size: x-small; padding-left: 70px;">
<asp:RadioButton runat="server" ID="rbStartsWith" GroupName="jobNameFilterType" Text="Starts With" />
<asp:RadioButton runat="server" ID="rbContains" GroupName="jobNameFilterType" Text="Contains" />
<asp:RadioButton runat="server" ID="rbEndsWith" GroupName="jobNameFilterType" Text="Ends With" />
<input type="button" value="Go" id="btnGo" onclick="applyFiltersAndReload()" />
</span>
</div>
</form>
</body>
</html>
Код позади:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var _filterType = Request.QueryString["fType"];
rbContains.Checked = true;
if(_filterType == "s")
{
rbStartsWith.Checked = true;
}
if(_filterType == "e")
{
rbEndsWith.Checked = true;
}
}
}
}