我正在开发一个类似于stackoverflow.com概念的项目
会有很多问题,我希望每个问题都有一个Page View Counter.
我觉得最好的方法是使用数据库,因为问题的数量会很大,而且会随着时间的推移而增加.
如果我刚刚创建了一个TABLE Question_Views 并且每个问题都有一行,那将非常容易.
像这样的东西.
ID-----Question_ID------Views
1-------23--------------400
2-------24--------------301
3-------25--------------123
Run Code Online (Sandbox Code Playgroud)
但页面计数器是否考虑了IP地址?意思是,如果我打开第23号问题的网页,然后另一天我也会查看这个问题,它会增加1还是2?
如果我需要考虑IP地址,这种方法有点不对吗?
我已经创建了一个HttpHandler,我将使用jquery-Ajax调用.
这个HttpHandler将访问数据库并检查与当前被烧毁的用户相关的内容.
通过使用Session,使用名为user_id的属性将用户视为已登录.
Session["user_id"] = userId;
Run Code Online (Sandbox Code Playgroud)
我试图在HttpHandler中检索这个Session,但这似乎不起作用.
所以我考虑将user_id作为参数发送.
var user_id = //Retrieved in some way...
$.ajax({
url: 'QuestionRate.ashx?id=user_id',
success: function (msg, status, xhr) {
alert(msg);
},
error: function () {
alert(msg);
}
});
Run Code Online (Sandbox Code Playgroud)
但这似乎是一个坏主意,任何阅读代码的人都可以使用他想要的id访问Handler.
那么在这种情况下我该怎么办?我希望Handler获取user_id以进行数据库访问,但我想确保此user_id是已登录用户的实际ID.无法访问处理程序中的会话?
我试图改变字体,使用:
jLabel.setFont(new Font("Tahoma",1,20));
Run Code Online (Sandbox Code Playgroud)
但这里只有4种款式,Plain,Bold,Italic,Bold + Italic.
我希望它像HTML中的链接一样工作,当我将鼠标光标悬停在它上面时,JLabel会加下划线.
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="Date must be set" ClientValidationFunction="ValidateDate"
ControlToValidate="DropDownList1" Display="Dynamic" class="errorMessage">
</asp:CustomValidator>
Run Code Online (Sandbox Code Playgroud)
这是自定义验证器,调用客户端函数ValidateDate.
function ValidateDate(sender, args) {
args.isValid = false;
}
Run Code Online (Sandbox Code Playgroud)
我在一个单独的.js文件和.aspx文件中编写了这个函数,但它没有用.
当然验证会更大,我只是在做一个测试.
可能重复:
JButton最小化窗口(JFrame)
我删除了JFrame的关闭/最小化按钮,我想添加自己的按钮,关闭,它可以使用.dispose();,但如果我点击JButton,我应该使用什么来最小化JFrame?
我认为.setVisible(false);将完全隐藏它,我将无需点击任何内容,在TaskBar中获取JFrame.
假设我有这个.
<div>
<div id="lala">
lalalala
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#lala
{
float:left;
word-wrap:break-word;
}
Run Code Online (Sandbox Code Playgroud)
如果里面的文字#lala很大,它会是这样的.
| |
| |
| lalalalalalalalalalalalalala | lalalalalala <-- these won't be show.
| |
| |
Run Code Online (Sandbox Code Playgroud)
如果我删除float:left;这将是结果.
| |
| |
| lalalalalalalalalalalalalala |
| lalalalalala |
| |
Run Code Online (Sandbox Code Playgroud)
如何在使用float时获得第二个结果?