Неправильно установлено свойство проверки радиокнопки из кода позади - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь установить свойство 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;
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...