大家好我想从c#文件中的那些无线电类型输入中获取信息我该怎么做?我想在我的SQL数据库服务器中保存评级值。
这是我的aspx / html代码:
<li><fieldset class="rating">
<legend>Please rate:</legend>
<input type="radio" id="star5" name="rating" value="5" /><label for="star5" title="Rocks!">5 stars</label>
<input" type="radio" id="star4" name="rating" value="4" /><label for="star4" title="Pretty good">4 stars</label>
<input type="radio" id="star3" name="rating" value="3" /><label for="star3" title="Meh">3 stars</label>
<input type="radio" id="star2" name="rating" value="2" /><label for="star2" title="Kinda bad">2 stars</label>
<input type="radio" id="star1" name="rating" value="1" /><label for="star1" title="Sucks big time">1 star</label>
</fieldset>
<asp:Button ID="Rating_btn" runat="server" Text="Rate" OnClick="Rating_btn_Click"/>
</li>
css代码:
.rating {
float:left;
}
.rating:not(:checked) > input {
position:absolute;
top:-9999px;
clip:rect(0,0,0,0);
}
.rating:not(:checked) > label {
float:right;
width:1em;
padding:0 .1em;
overflow:hidden;
white-space:nowrap;
cursor:pointer;
font-size:200%;
line-height:1.2;
color:#ddd;
text-shadow:1px 1px #bbb, 2px 2px #666, .1em .1em .2em rgba(0,0,0,.5);
}
.rating:not(:checked) > label:before {
content: '★ ';
}
.rating > input:checked ~ label {
color: #f70;
text-shadow:1px 1px #c60, 2px 2px #940, .1em .1em .2em rgba(0,0,0,.5);
}
.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
color: gold;
text-shadow:1px 1px goldenrod, 2px 2px #B57340, .1em .1em .2em rgba(0,0,0,.5);
}
.rating > input:checked + label:hover,
.rating > input:checked + label:hover ~ label,
.rating > input:checked ~ label:hover,
.rating > input:checked ~ label:hover ~ label,
.rating > label:hover ~ input:checked ~ label {
color: #ea0;
text-shadow:1px 1px goldenrod, 2px 2px #B57340, .1em .1em .2em rgba(0,0,0,.5);
}
.rating > label:active {
position:relative;
top:2px;
left:2px;
}
感谢帮帮人! 我试图添加runat = server但它破坏了我的风格而没有工作
答案 0 :(得分:0)
那是因为WebForms不会识别输入是文本,检查还是无线电,以将其转换为正确的类。您不使用<asp:something>
(或除asp之外的任何其他目录)的所有元素都将被视为HtmlControl。
你不能在HtmlControl中使用特定的东西,比如Checked
attibute,只能使用普通的东西。
由于input
仅限客户端,要在代码上阅读,您应该使用<asp:RadioButton/>
代替。
System.Web.UI.WebControls.RadioButton
此外,当您在服务器上运行时,需要到runat="server"
。
也许你需要检查你的css逻辑,如果它正在改变它
然后你就可以使用它了:
if (star5.Checked)
{
DoSomething()
}
观察:我们的答案取决于您使用哪个“asp.net框架”来运行它。 MVC的方法将完全不同 请将其标记为WebForms。
您正在使用的数据库也无关紧要,因为您只询问如何读取值,而不是如何写入数据库